मैं अपने XAML में एक आयत है और पीछे कोड में अपनी Canvas.Left
संपत्ति बदलना चाहते हैं:मैं कोड में संलग्न संपत्ति को कैसे एक्सेस करूं?
<UserControl x:Class="Second90.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300" KeyDown="txt_KeyDown">
<Canvas>
<Rectangle
Name="theObject"
Canvas.Top="20"
Canvas.Left="20"
Width="10"
Height="10"
Fill="Gray"/>
</Canvas>
</UserControl>
लेकिन यह काम नहीं करता:
private void txt_KeyDown(object sender, KeyEventArgs e)
{
theObject.Canvas.Left = 50;
}
किसी को भी पता है वाक्य रचना करना है क्या इस?
+1, प्यार प्रकार सुरक्षा होना चाहिए। मैं उत्सुक हूं कि क्यों SetLeft DependencyObject – JaredPar
@JaredPar की बजाय UIElement लेता है: अनुमान में मैं कहूंगा कि चूंकि सेटलेफ्ट विशेष रूप से कैनवास का एक तरीका है, यह समझता है कि यह किस तरह से बाएं संपत्ति को समझने के लिए समझ में आता है। यह यूआईएलमेंट होने के लिए मानता है, यह शायद दोषपूर्ण कोड का पता लगाता है जहां गलती से गलत चर इसे पारित किया जाता है। – AnthonyWJones
https://msdn.microsoft.com/en-us/library/windows.ui.xaml.controls.canvas.left.xx कैनवास। लिफ्ट एक संलग्न संपत्ति है, जो XAML उपयोग का समर्थन करता है। कोड में इस प्रॉपर्टी को सेट करते समय, इसके बजाय SetLeft का उपयोग करें। –