我制作了一个应用程序,该应用程序根据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
来获取(XmlDataProvider)this.Resources["organization"]
实例。
然后,您可以将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);