将xaml中的字符串绑定到属性

时间:2013-01-25 21:50:53

标签: wpf string xaml mvvm

我的视图模型上有一个公共常量字符串,我想绑定到

  

sys:string

在下面的xaml片段中:

<ComboBox.ItemsSource>
    <CompositeCollection>
       <sys:String></sys:String>
       <CollectionContainer Collection="{Binding VMCollection, Source={StaticResource proxy}}" />
    </CompositeCollection>
 </ComboBox.ItemsSource>

如果String有内容属性或其他东西,那就很容易了,但只是试图找出最佳方法。

1 个答案:

答案 0 :(得分:2)

就个人而言,我认为您应该在ViewModel中组合这些选项(可用)。 (这些选项是否应该“呈现”给用户?即使您为此创建了一个全新的UI,选项也会相同吗?)

但要回答你的问题..

<Window ...
...
xmlns:local="clr-namespace:MyNamespace">

<ComboBox>
        <ComboBox.ItemsSource>
            <CompositeCollection>
                <x:StaticExtension Member="local:Constants.MyConst" />
                <core:String>1</core:String>
                <core:String>2</core:String>
                <core:String>3</core:String>
            </CompositeCollection>
        </ComboBox.ItemsSource>
    </ComboBox>

public static class Constants
{
    public static string MyConst
    {
        get
        {
            return "asd";
        }
    }
}

这有效