मुझे पॉपअप नियंत्रण के एक्स, वाई निर्देशांक प्राप्त करने का प्रयास कर रहा है। मैंने कोशिश की है:डब्ल्यूपीएफ पॉपअप कंट्रोल - एक्स, वाई कोऑर्डिनेट्स
VisualTreeHelper.GetOffset (पॉपअप);
लेकिन वेक्टर हमेशा होता है वापस लौटे (0,0) एक्स और वाई
पॉपअप की मूल के लिए लेआउट जड़ है, जो एक ग्रिड है।
कस्टमपॉपअप प्लेसमेंट कॉलबैक हमेशा इसके पॉइंट पैरामीटर के लिए 0,0 देता है।
लक्ष्य उपयोगकर्ता को स्क्रीन पर कहीं भी पॉपअप खींचने की अनुमति देना है। मैं वर्तमान पॉपअप और माउस की स्थिति प्राप्त करके और माउस चाल की एक ही दिशा में पॉपअप को स्थानांतरित करके इसे पूरा करने और पूरा करने जा रहा था।
-------------------- अद्यतन --------------------
क्रिस निकोल, मैं निम्नलिखित कोड के साथ अपने जवाब की कोशिश की है, लेकिन अभी भी rootPoint के लिए 0,0 प्राप्त करते हैं:
Xaml:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Test.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="800" Height="600">
<Grid x:Name="LayoutRoot">
<Popup x:Name="Popup" IsOpen="True" Placement="Center" Width="100" Height="100">
<Button Click="Button_Click" Content="Test" />
</Popup>
</Grid>
कोड के पीछे:
public partial class MainWindow : Window
{
public MainWindow()
{
this.InitializeComponent();
// Insert code required on object creation below this point.
}
private void Button_Click(object sender, RoutedEventArgs e)
{
GeneralTransform transform = Popup.TransformToAncestor(LayoutRoot);
Point rootPoint = transform.Transform(new Point(0, 0));
}
}
मुझे एक ही समस्या है, क्या आपको कोई समाधान मिला? दया – Cinaird
मुझे कोई समाधान नहीं मिला। लंबी देरी के लिए खेद है। – gamzu07
ठीक है, – Cinaird