XAML标签文本:绑定+动态资源(字符串格式化?)

3
对于Xamarin.Forms - XAML文件:
是否有一种方法可以将标签的Text属性(在XAML中)绑定到Binding + DynamicResource?可以使用字符串格式吗?
例如,我尝试了这样的内容:

对我来说,这似乎是一个转换器(IValueConverter)的工作... - Milen
你要来实现它吗? :) - NullReference
2个回答

2

非常感谢,http://intellitect.com/multibinding-in-xamarin-forms/ 看起来是一个很有前途的方案。我会进行调查,并且如果有不错的结果的话会更新这篇文章。 - Csharpest
1
我在我的回答中添加了一个新链接,其中包含一个简单易用的类 ;) - Isma
非常感谢,我现在该如何处理这个问题?您可以将您的答案标记为正确,或者等待我上传我的解决方案,然后再标记我的上传为正确。 - Csharpest
如果你认为我回答了这个问题:“有没有一种方法可以将标签的Text属性(在XAML中)绑定到Binding + DynamicResource?”那么请将其标记为答案,但当然这取决于你。 - Isma
你是对的。而且我仍然可以编辑我的帖子,以展示基于你的答案的解决方案!祝你有个愉快的一天。 - Csharpest

0

我认为你需要的是MultiBinding。

尝试创建一个像这样的转换器类:

public class MultiBindingConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return values[0].ToString() + " " + values[1].ToString();
    }
    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

在你的App.xaml或其他资源字典中引用它

<local:MultiBindingConverter x:Key="MultiBindingConverter" />

然后在你的视图中做类似这样的事情:

<Label>
    <Label.Content>
        <MultiBinding Converter="{StaticResource MultiBindingConverter}">
            <Binding Path="FirstProperty" />
            <Binding Path="SecondProperty" />
        </MultiBinding>
    </Label.Content>
</Label>

FirstProperty和SecondProperty只是ViewModel中的普通属性。


1
这是关于Xamarin.Forms的,我在Xamarin.Forms中找不到关于MultiBinding的任何内容。你的示例是否针对WPF? - Csharpest
2
抱歉,没有注意到 Xamarin 标签。是的,我的回答与 WPF 相关。 - Kacper Stachowski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接