如果所有樣式和轉換器都存儲在共享資源字典文件(styles.xaml)中,並且此文件在各個窗口中使用。wpf共享ResourceDictionary文件參數?
是否可以將參數傳遞給該文件,並將該參數傳播給轉換器?
我正在尋找一種方法來通過「原產地」類型參數,以便轉換器可以知道他們正在使用哪個地方?只是提示當前窗口/網格正在使用轉換器..
如果所有樣式和轉換器都存儲在共享資源字典文件(styles.xaml)中,並且此文件在各個窗口中使用。wpf共享ResourceDictionary文件參數?
是否可以將參數傳遞給該文件,並將該參數傳播給轉換器?
我正在尋找一種方法來通過「原產地」類型參數,以便轉換器可以知道他們正在使用哪個地方?只是提示當前窗口/網格正在使用轉換器..
請參閱這篇文章的轉換器與參數。我假設你在Resource字典中定義了Converter資源。
http://www.switchonthecode.com/tutorials/wpf-tutorial-binding-converters
是的,這篇文章是我如何發現有關轉換器參數。它沒有提到任何解決方案,但我的問題 – 2010-07-01 14:50:23
我不知道這樣的事情會工作:
到系統命名空間添加引用在每個窗口的聲明或用戶控件,你想要這個。
xmlns:sys="clr-namespace:System;assembly=mscorlib"
然後在你的資源部分處理事情是這樣的:那麼
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
<sys:String x:Key="WinConvertParam">IDTextForThisWindow</sys:String>
</ResourceDictionary>
</Window.Resources>
你綁定語法可能是這個樣子:
{Binding SomeProperty,
Converter={StaticResource thatConverterIWrote},
ConverterParameter={StaticResource WinConvertParam}}
...和你的轉換或ConvertBack只要您在文件間改變<sys:String/>
的值,轉換類中的方法就會意識到正在使用它們的窗口。
您認爲如何?
不確定您在共享資源字典中的「轉換器」是什麼意思。當我在XAML和WPF的環境中看到這個術語時,我想到了IValueConverter。還有別的嗎? – 2010-06-30 22:45:00
是的。 iValueConverters。轉換具有可選參數。我希望能夠通過resourcedictionary文件 – 2010-07-01 05:15:37