[問題] 有關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