C# WPF组合框绑定

C# WPF组合框绑定,c#,wpf,binding,combobox,C#,Wpf,Binding,Combobox,我试图用一些数据绑定一个组合框。 问题是组合框中的数据如下所示: <ComboBox> <ComboBoxItem>Item 1</ComboBoxItem> <ComboBoxItem>Item 2</ComboBoxItem>

我试图用一些数据绑定一个组合框。 问题是组合框中的数据如下所示:

                            <ComboBox>
                                <ComboBoxItem>Item 1</ComboBoxItem>
                                <ComboBoxItem>Item 2</ComboBoxItem>
                                <ComboBoxItem>Item 3</ComboBoxItem>
                                <ComboBoxItem>Item 4</ComboBoxItem>
                                <ComboBoxItem>Item 5</ComboBoxItem>
                            </ComboBox>

项目1
项目2
项目3
项目4
项目5
当加载带有组合框的表单时,我加载了一个资源,其中包含一个int,我希望将其绑定到此组合框。 因此,如果该int为1,我希望组合框显示项目1等。当我更改组合框的项目时,我希望相应地更新该int

有没有办法将此资源绑定到组合框以实现此目的


提前感谢您

以下是一个完整的XAML示例,介绍如何执行此操作:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    Title="Window1">
    <Window.Resources>
        <sys:Int32 x:Key="TheIndex">2</sys:Int32>
    </Window.Resources>
    <ComboBox SelectedIndex="{Binding Source={StaticResource TheIndex}, Mode=OneWay}">
        <ComboBoxItem>One</ComboBoxItem>
        <ComboBoxItem>Two</ComboBoxItem>
        <ComboBoxItem>Three</ComboBoxItem>
        <ComboBoxItem>Four</ComboBoxItem>
    </ComboBox>
</Window>

2.
一
二
三
四
注意以下几点:

  • sys
    XML命名空间声明为mscorlib程序集中
    System
    CLR命名空间的映射
  • SelectedIndex
    上的
    Binding
    设置为
    one-way
    ,因为它默认为
    two-way
    ,这在直接绑定到资源时没有意义

以下是一个完整的XAML示例,介绍如何执行此操作:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    Title="Window1">
    <Window.Resources>
        <sys:Int32 x:Key="TheIndex">2</sys:Int32>
    </Window.Resources>
    <ComboBox SelectedIndex="{Binding Source={StaticResource TheIndex}, Mode=OneWay}">
        <ComboBoxItem>One</ComboBoxItem>
        <ComboBoxItem>Two</ComboBoxItem>
        <ComboBoxItem>Three</ComboBoxItem>
        <ComboBoxItem>Four</ComboBoxItem>
    </ComboBox>
</Window>

2.
一
二
三
四
注意以下几点:

  • sys
    XML命名空间声明为mscorlib程序集中
    System
    CLR命名空间的映射
  • SelectedIndex
    上的
    Binding
    设置为
    one-way
    ,因为它默认为
    two-way
    ,这在直接绑定到资源时没有意义

您好,肯特,谢谢您的回复。我对wpf编程非常陌生,需要对您发布的snipset进行更多解释。我如何声明2以及它如何绑定到我的资源?非常感谢。again@Taonias:没问题。我已经用一个完整的工作示例更新了我的帖子。您好,肯特,谢谢您的回复,我对wpf编程非常陌生,我需要对您发布的snipset进行更多解释。我如何声明2以及它如何绑定到我的资源?非常感谢。again@Taonias:没问题。我用一个完整的、有效的例子更新了我的帖子。