3

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 ファイルを選択して、実行時にソースを変更できるようにしたいのですが、どうすればよいですか?

4

1 に答える 1

6

コードファイルに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);
于 2010-01-10T18:13:38.930 に答える