类和文本的多绑定StringFormat

时间:2018-08-21 10:06:24

标签: c# wpf multibinding

我有一个看起来像这样的StackPanel:

<StackPanel Orientation="Horizontal">
        <TextBlock Text="{helpers:Localization PIV_HdrTblPtnId}" />
        <TextBlock Text="{Binding Path=(utils:NavigationVariables.Id)}" />
</StackPanel>

我正尝试将其转换为单个TextBlock,如下所示:

<TextBlock>
    <TextBlock.Text>
            <MultiBinding StringFormat="{}{0} {1}">
                    <Binding Path="{helpers:Localization PIV_HdrTblPtnId}"/>
                    <Binding Path="(utils:NavigationVariables.Id)"
                                UpdateSourceTrigger="PropertyChanged" />
            </MultiBinding>
    </TextBlock.Text>
</TextBlock>

但是出现以下错误:

  

'无法在以下位置的'Path'属性上设置'本地化'   输入“绑定”。

有什么办法可以解决这个问题?预先感谢!

编辑: 本地化课程:

public class LocalizationExtension : Binding
{
    #region Constructors

    public LocalizationExtension(string name) : base("[" + name + "]")
    {
        Mode = BindingMode.OneWay;
        Source = CultureManager.Instance;
    }

    #endregion
}

1 个答案:

答案 0 :(得分:2)

具有两次运行的TextBlock应该可以工作:

<TextBlock>
    <Run Text="{helpers:Localization PIV_HdrTblPtnId}"/>
    <Run Text="{Binding Path=(utils:NavigationVariables.Id), Mode=OneWay}" />
</TextBlock>