Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带源和路径的WPF多重绑定_C#_Wpf_Xaml_Multibinding - Fatal编程技术网

C# 带源和路径的WPF多重绑定

C# 带源和路径的WPF多重绑定,c#,wpf,xaml,multibinding,C#,Wpf,Xaml,Multibinding,我正在编写以下代码,用于在WPF textblock中实现多重绑定 <TextBlock> <TextBlock.Text> <MultiBinding StringFormat="{}{0}-{1}"> <Binding Source="{Binding Path=localResource.bookdata_labelPageNO,Source={StaticResource

我正在编写以下代码,用于在WPF textblock中实现多重绑定

<TextBlock> 
        <TextBlock.Text>
            <MultiBinding  StringFormat="{}{0}-{1}">
                <Binding Source="{Binding Path=localResource.bookdata_labelPageNO,Source={StaticResource LanguageManagerDynamic}}"/>
                <Binding Path="PageNo"/>
            </MultiBinding>
        </TextBlock.Text>
    </TextBlock>

我试图加载一个类似“Page xx”的字符串,其中xx是作为绑定模型属性的页码,字符串“Page”是从资源加载的 但我在这一行@XAML上得到了运行时错误。是什么导致了错误

这是我以前的工作代码

  <TextBlock Text="{Binding PageNo,StringFormat=page. {0}}" />

确定对于纯xaml解决方案,您可以这样做,前提是资源加载正确

<Window.Resources>
    <sys:String x:Key="Page">Page</sys:String>
</Window.Resources>

<TextBlock>
    <TextBlock.Text>
        <MultiBinding  StringFormat="{}{0} {1}">
            <Binding Source="{StaticResource Page}"/>
            <Binding Path="PageNo" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>
你能这样试试吗

<TextBlock>
     <Run Text="Page" />
      <Run Text="{Binding PageNo}" />
  </TextBlock>


尝试使用TextblockCare中的运行文本打开LanguageManagerDynamic的使用?我们可以单独在xaml中完成吗?就像我的工作代码一样?嗯,问题似乎是您的资源加载,为什么这么复杂?您必须通过从IMultiValueConverter派生来编写自己的多值转换器,因为默认转换器似乎对不同的源“感到困惑”(例如,“StaticResource Page”和“PageNo”没有相同的来源),即使两者都是字符串。