簡體   English   中英

如何以編程方式正確設置依賴項的值?

[英]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屬性。 我怎樣才能做到這一點?

你所問的是如何設置的附加價值DependencyPropertyDependencyObject

基本語法如下所示:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM