[问题] 有关binding的问题

楼主: qsx889 (虾米)   2015-12-08 19:47:06
各位版友大家好
我最近有个WPF程式binding使用上的问题想请教
因为我也刚学没多久如果我有观念上的错误也请指证
在程式方面我需要把xaml档上面的<ellipse>的Fill、Width等的参数
预先定义在另一个xml档里在从xaml系结过去简单格式如下:
<Data>
<circle>
<Fill>black</Fill>
</circle>
</Data>
而在xaml档则是先给binding来源
<Window.Resources>
<XmlDataProvider x:Key="aaa"
Source="bbb.xml" XPath="Data"/>
</Window.Resources>
然后在<ellipse>里binding到xml里的参数:
<Ellipse x:Name="circle"
DataContext="{Binding Source={StaticResource aaa}}"
Fill="{Binding XPath=/Data/circle/Fill}">
现在的困惑点在于如果我想加一个reload按钮在我修改了xml档存盘后
能够直接反映修改后参数不重新compiler画出新的ellipse图形应该要怎么做?
有先试着用Refresh()来写但还是没用
感觉他在画出circle圆后就直接写死了
我也有将xaml binding模式改成two way以及dynamicresource但是都无效不会刷新
我现在在尝试想说能不能在按下按钮的时后先将原本物件清掉
(canvas.Children.Remove(circle))之后在让它重新刷新binding的内容
可是又感觉这想法好像不太对= =
想请问我的问题是在哪边呢?
作者: YahooTaiwan (超可爱南西我老婆)   2015-12-08 20:07:00
INotifyPropertyChanged
作者: name2name2 (yang~hi)   2015-12-12 18:08:00
我猜应该是要用程式码去读xml档里面的值然后用程式码的方式加圆和指定fill读xml档可以研究一下Xelement和里面的取值方法

Links booklink

Contact Us: admin [ a t ] ucptt.com