本文介绍了当xmldataprovider更新时刷新组合框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个代码:

<Grid>
        <Grid.Resources>
            <XmlDataProvider x:Name="ScenesXmlName" x:Key="ScenesXml"
                    XPath="scenari-list/scenario"
                    Source="myXml.xml"/>
        </Grid.Resources>

        <ComboBox Name="ScenariCombo"
                  ItemsSource="{Binding Source={StaticResource ScenesXml}}"
                  DisplayMemberPath="@name"
                  SelectionChanged="ScenariCombo_SelectionChanged" />
</Grid>

组合框项目正确加载。

我想知道的是如果有当我更新myXml.xml(所以itemsource)时,是更新ScenariCombo.Items的任何方法。

提前感谢

Combobox items are loaded correctly.
What i wanto to know is if there is any way to update ScenariCombo.Items when i update myXml.xml (so the itemsource).
Thanks in advance!

推荐答案

我终于明白了。
这比预期更容易。
您必须强制重新加载xmldataprovider:

I finally understood this.It was easier than expected.You have to force the reloading of the xmldataprovider:

XmlDataProvider xmlDataProvider = (XmlDataProvider)BaseGrid.FindResource("ScenesXml");
xmlDataProvider.Refresh();

这篇关于当xmldataprovider更新时刷新组合框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-11 19:00