【问题标题】:Combobox SelectedItem and Binding in UWPUWP 中的 Combobox SelectedItem 和绑定
【发布时间】:2016-05-15 18:18:52
【问题描述】:

目前正在开发的 UWP 应用程序遇到组合框问题。

我将 ObservableCollection 绑定到组合框(它有效)

var WarehouseList = new ObservableCollection<Warehouse>(taskmag.Result);
        WarehouseBox.ItemsSource = WarehouseList;

当我将数据加载到表单中时,我想做的是显示一个选定的项目。 我没有使用 MVVM,这是我的 Combox XAML

<ComboBox HorizontalAlignment="Stretch" Width="400" FontSize="32" Name="WarehouseBox" Margin="20,0,0,0">
 <ComboBox.ItemTemplate>
  <DataTemplate>
   <StackPanel Orientation="Horizontal" Width="Auto" Height="Auto">
    <TextBlock Text="{Binding Name}"/>
    <TextBlock Text="{Binding WarehouseID}" Name="MID" Visibility="Collapsed"/>
   </StackPanel>
  </DataTemplate>
 </ComboBox.ItemTemplate>
</ComboBox>

我不知道从哪里开始,因为文档总是暗示 MVVM 或其他一些我没有实现的东西。 如果可以帮助解决问题,我愿意将我的项目 coll 更改为 List 或 IEnumerable。

非常感谢任何帮助。

【问题讨论】:

    标签: c# .net win-universal-app uwp


    【解决方案1】:

    这是完整的东西,如果它仍然不适合你,请告诉我:

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
            <ComboBox x:Name="ComboBoxWarehouses">
                <ComboBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" Width="Auto" Height="Auto">
                            <TextBlock Text="{Binding Name}"/>
                        </StackPanel>
                    </DataTemplate>
                </ComboBox.ItemTemplate>
            </ComboBox>
        </Grid>
    
        public MainPage()
        {
            this.InitializeComponent();
            var items = new ObservableCollection<Warehouse>();
            var item = new Warehouse() {Name = "selected"};
            items.Add(new Warehouse() { Name = "not selected"});
            items.Add(item);
            items.Add(new Warehouse() { Name = "Another Not Selected"});
    
            ComboBoxWarehouses.ItemsSource = items;
            ComboBoxWarehouses.SelectedItem = item;
        }
    

    【讨论】:

    • 不,不幸的是,这似乎不起作用,我也尝试过 List.Find 并将结果推送到 Warehouse 对象中并将其用作选定项目,但仍然没有。
    • @JerryNixon-MSFT,在我做的一个测试项目中工作。页面显示选中了“选定”项。
    • @Fonzusys,此代码在我身边运行良好,也许您可​​以发布您的 cs 代码,以便我们看看您的代码到底出了什么问题。
    • 它现在可以工作了,我不得不在我的部分代码中更改一些东西。谢谢!
    猜你喜欢
    • 2017-04-30
    • 1970-01-01
    • 2019-11-10
    • 2023-04-03
    • 2011-11-01
    • 1970-01-01
    • 2015-06-28
    • 2010-10-24
    • 1970-01-01
    相关资源
    最近更新 更多