如何在我的 Net.Maui Toolkit.Popup 中使用转换器?

问题描述 投票:0回答:1

我在常规页面中使用转换器。

我在虚拟机中添加货币

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>

或类似的东西。

我没有找到任何有关如何执行此操作的示例。请问正确的语法是什么?这有可能吗?

谢谢你。 亚历克斯

popup converters maui
1个回答
0
投票

将转换器资源添加到

<toolkit:Popup>
的子元素,而不是添加到
<toolkit:Popup>
本身,确实使它起作用。

例如,如果您的弹出窗口的子项是

<Frame>
,就像我的情况一样:

<toolkit:Popup>
    <Frame>
        <Frame.Resources>
            <model:CurrencyPickerConverter x:Key="CurrencyPickerConverter" />
        </Frame.Resources>
    </Frame>
</toolkit:Popup>

然后,您可以将转换器用于

<Frame>
元素内的任何控件。

© www.soinside.com 2019 - 2024. All rights reserved.