我在常规页面中使用转换器。
我在虚拟机中添加货币
public ObservableCollection<Currency> Currencies { get; set; } = new();
....
然后我在选择器中使用它们,如下所示:
<ContentPage.Resources>
<ResourceDictionary>
<model:CountryPickerConverter x:Key="CountryPickerConverter" />
<model:CurrencyPickerConverter x:Key="CurrencyPickerConverter" />
<toolkit:IsNotEqualConverter x:Key="IsNotEqualConverter" />
</ResourceDictionary>
</ContentPage.Resources>
然后
<Picker
Title="{x:Static res:AppRes.SelectCurrency}"
ItemsSource ="{Binding Currencies}"
ItemDisplayBinding ="{Binding ., Converter={StaticResource CurrencyPickerConverter}, Mode=TwoWay}"
..........
</Picker>
它有效。但现在我需要在我的工具包中做同样的事情:Popup 对象。
我无法写这部分:
<toolkit:Popup.Resources>
<ResourceDictionary>
<model:CurrencyPickerConverter x:Key="CurrencyPickerConverter" />
</ResourceDictionary>
</toolkit:Popup>
或类似的东西。
我没有找到任何有关如何执行此操作的示例。请问正确的语法是什么?这有可能吗?
谢谢你。 亚历克斯
将转换器资源添加到
<toolkit:Popup>
的子元素,而不是添加到 <toolkit:Popup>
本身,确实使它起作用。
例如,如果您的弹出窗口的子项是
<Frame>
,就像我的情况一样:
<toolkit:Popup>
<Frame>
<Frame.Resources>
<model:CurrencyPickerConverter x:Key="CurrencyPickerConverter" />
</Frame.Resources>
</Frame>
</toolkit:Popup>
然后,您可以将转换器用于
<Frame>
元素内的任何控件。