[英]How do I set dependency propertly value programmatically?
考慮以下XAML:
<esri:ElementLayer Name="ElementLayer">
<esri:ElementLayer.Children>
<!--Editable textbox-->
<TextBox Width="100" Height="20" esri:ElementLayer.Envelope="40,0,40,0"
Text="Editable text" HorizontalAlignment="Right" VerticalAlignment="Bottom" />
</esri:ElementLayer.Children>
</esri:ElementLayer>
我想用代碼重寫它。 到目前為止,我有:
var customLayer = this.mapControl.Layers["ElementLayer"] as ElementLayer;
if (customLayer == null) return;
foreach (var customMapItem in this.CustomLayerData)
{
var tb = new TextBox();
tb.DataContext = customMapItem;
// TODO: How to set esri:ElementLayer.Envelope="40,0,40,0" ???
customLayer.Children.Add(tb);
}
因此,我需要在代碼中設置Dependency屬性。 我怎樣才能做到這一點?
你所問的是如何設置的附加價值DependencyProperty
上DependencyObject
。
基本語法如下所示:
DependencyObject.SetValue(DependencyProperty, myValue);
在您的情況下,將是這樣的:
customMapItem.SetValue(ElementLayer.EnvelopeProperty, new Envelope(40,0,40,0));
但是,他們還實現了標准的輔助函數,因此這是一種更好的方法:
ElementLayer.SetEnvelope(customMapItem, new Envelope(40,0,40,0));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.