簡體   English   中英

如何在運行時更改wpf中的xmldataprovider源?

[英]how to change xmldataprovider source in wpf at runtime?

我創建了一個應用程序,它根據xml文件中的值繪制組織樹。

xaml文件是這樣的:

<Window.Resources>


    <!-- The Org Chart Data-->
    <XmlDataProvider x:Key="organization"  Source="model.xml" />

    <SolidColorBrush x:Key="ListBorder" Color="#FF7F9DB9"/>

    <!-- The Style for Nodes -->
    <Style TargetType="{x:Type draw:Node}">
        <Setter Property="OverridesDefaultStyle" Value="true"/>
        <Setter Property="Template">
        ---------------------------------------------------------

我希望能夠通過從openfiledialog中選擇一個xml文件(如按鈕點擊)在運行時更改源代碼,我該怎么做?

您可以通過在代碼文件中編寫(XmlDataProvider)this.Resources["organization"]來獲取XmlDataProvider實例。

然后,您可以將Source屬性設置為文件對話框中的路徑。

例如:

var provider = (XmlDataProvider)this.Resources["organization"];
var dialog = new OpenFileDialog();
dialog.Filter = "XML Files|*.xml";
if (dialog.ShowDialog(this)) {
    provider.Source = new Uri(dialog.FileName, UriKind.Absolute);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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