Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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# 在codebehind中使用Multibinding.StringFormat_C#_Wpf_Code Behind_Multibinding_String Formatting - Fatal编程技术网

C# 在codebehind中使用Multibinding.StringFormat

C# 在codebehind中使用Multibinding.StringFormat,c#,wpf,code-behind,multibinding,string-formatting,C#,Wpf,Code Behind,Multibinding,String Formatting,我有一个内置动态语言切换的应用程序。根据选定的区域性,整个应用程序中的字符串将发生更改。翻译后的字符串及其原始值来自资源文件。我使用绑定将资源值附加到按钮、标签等。大多数绑定发生在代码隐藏中 我已经能够使用Binding.StringFormat属性将本地化字符串与数据连接起来: mybinding.StringFormat = "# {0}"; 用于“#个项目”。我的问题是,我现在需要在代码隐藏中连接两个(或更多)本地化字符串。我很快意识到我可以使用多重绑定并将我的绑定添加到其中,以保持当前

我有一个内置动态语言切换的应用程序。根据选定的区域性,整个应用程序中的字符串将发生更改。翻译后的字符串及其原始值来自资源文件。我使用绑定将资源值附加到按钮、标签等。大多数绑定发生在代码隐藏中

我已经能够使用Binding.StringFormat属性将本地化字符串与数据连接起来:

mybinding.StringFormat = "# {0}";
用于“#个项目”。我的问题是,我现在需要在代码隐藏中连接两个(或更多)本地化字符串。我很快意识到我可以使用多重绑定并将我的绑定添加到其中,以保持当前的工作方式,但是,使用MultiBinding.StringFormat似乎不起作用。我试图使用
myMultiBinding.StringFormat=“{0}{1}”
在两个绑定值之间插入一个空格,但当绑定到“问候语”标签时,该空格仅显示为空

下面是GetBinding()函数,它根据路径值获取绑定:

public Binding GetBinding(string name)
{
    Binding binding = new Binding();
    binding.Source = mySource;
    binding.Path = new PropertyPath(name);
    return binding;
}

另外,我应该注意我使用的是.NET4。在Xaml中似乎也不起作用。在.NET3.5中,在4.0中不起作用后,我也尝试过这个。两个子绑定都在工作。。。如果我提供一个转换器,值就会显示出来。不过,我宁愿使用StringFormat属性。

标签有问题。TextBlock上的StringFormat似乎工作正常

public Binding GetBinding(string name)
{
    Binding binding = new Binding();
    binding.Source = mySource;
    binding.Path = new PropertyPath(name);
    return binding;
}