【问题标题】:Convert text to MultiBinding将文本转换为多重绑定
【发布时间】:2014-09-22 04:26:43
【问题描述】:

我在尝试将现有 XAML 转换为 MultiBinding 时遇到问题。
当前代码(需要替换)是

<TextBlock  Text="{Binding BarcodeCollection.Count}" />
<TextBlock  Text="{x:Static p:Resource.AllWN}" />


我现在拥有的:

<control:MyControl>
    <control:MyControl.ControlText>
        <MultiBinding StringFormat="{}{0} {1}">
            <Binding Path="BarcodeCollection.Count"/> <!-- This part works fine -->
            <Binding ??? /> <!-- No idea how to re-write this part -->
        </MultiBinding>
    </control:MyControl.ControlText>
</control:MyControl>

我尝试了很多我能想到的方法来使第二部分正常工作,但无法弄清楚。我尝试使用Path,但它不是 一条路径,所以显然它不起作用。我还通过StringFormatSourceRelativeSource 尝试了各种变体,但似乎没有任何效果。

有人有什么想法吗?有没有可能?

【问题讨论】:

    标签: c# wpf multibinding


    【解决方案1】:

    您必须像这样设置 Source

    <Binding Source="{x:Static p:Resource.AllWN}"/>
    

    【讨论】:

    • 谢谢!我不知道为什么我对Source 的使用一开始就没有成功,但你现在让我省了很多麻烦!
    【解决方案2】:

    根据https://stackoverflow.com/a/3341536/1157021,源应该以这种形式工作:

    <Binding Source="{StaticResource p:Resource.AllWN}" />
    

    【讨论】:

    • 这不起作用,因为必须在 XAML 中定义此资源。但是 OP 将它与来自 ViewModel 的静态值绑定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 2016-10-20
    相关资源
    最近更新 更多