次のコードでツリービューをバインドしているので、xml ファイルを更新してツリービューをリロードします。Xmlファイルは正常に戻り、TreeViewItemは正常に戻りますが、UIに古いデータがあります。UIは変更されていません。
Xaml:
<TreeView Name="TreeGroup" HorizontalAlignment="Left" Width="193" Cursor="Hand"
VirtualizingStackPanel.IsVirtualizing="False" VirtualizingStackPanel.VirtualizationMode="Standard" Margin="0,27,0,0">
<TreeView.ContextMenu>
<ContextMenu>
<MenuItem Name="MenuItemNew" Header="Yeni" Click="OpenWindow" ></MenuItem>
</ContextMenu>
</TreeView.ContextMenu>
</TreeView>
C#:
public void TreeviewBinding()
{
try
{
TreeGroup.Items.Clear();
TreeGroup.Items.Add(FillTreeView(Tools.LoadXml()));
TreeGroup.Items.Refresh();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
これは XElemet を返します:
Tools.LoadXml()
TreeViewItem を埋めて返すこの XElement:
FillTreeView(Tools.LoadXml());
TreeviewBinding() メソッドを呼び出した xml 更新後。