gpt4 book ai didi

c# - xamarin 形式 xaml OnPlatform 不处理绑定(bind)

转载 作者:行者123 更新时间:2023-11-30 14:07:18 26 4
gpt4 key购买 nike

    <cv:BindableComboBox ItemsSource="{Binding Themes}" SelectedValue="{Binding SelectedTheme}">
<cv:BindableComboBox.Title>
<OnPlatform x:TypeArguments="x:String"
iOS="{Binding ThemePickerTitle}"
Android="{Binding ThemePickerTitle}"/>
</cv:BindableComboBox.Title>
</cv:BindableComboBox>

所以我有选择器,我想将它的标题绑定(bind)到 ThemePickerTitle 属性。如果我将它写成内联属性,它会很好用。但我不想在 Windows 上拥有标题。所以我编写 OnPlatform 使其仅适用于 Ios 和 Droid,但现在它可以编译。

最佳答案

您粘贴的 Xaml 假设 OnPlatform object是Binding to string的目标,然后OnPlatform返回正确的string取决于平台。

不幸的是,这不起作用,因为 OnPlatform不是 BindableObject并且不能成为 Binding 的目标.

有意义的是使用这个 Xaml:

<cv:BindableComboBox ItemsSource="{Binding Themes}" SelectedValue="{Binding SelectedTheme}">
<cv:BindableComboBox.Title>
<OnPlatform x:TypeArguments="BindingBase"
iOS="{Binding ThemePickerTitle}"
Android="{Binding ThemePickerTitle}"/>
</cv:BindableComboBox.Title>
</cv:BindableComboBox>

意思是OnPlatform根据平台返回正确的绑定(bind)(不评估它)。截至今天 (2017-01-24),这在 Xamarin.Forms 中不起作用,但修复补丁已准备就绪,将在下一个版本中登陆:https://github.com/xamarin/Xamarin.Forms/pull/709 .

关于c# - xamarin 形式 xaml OnPlatform 不处理绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41760510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com