以下是一个使用WVVM模式实现UserControl的datagrid中下拉框绑定的示例设计代码:

  1. 创建一个NoNeedDetails类,该类包含一个ObservableCollection属性SelectPackage:
public class NoNeedDetails
{
    public ObservableCollection<string> SelectPackage { get; set; }

    public NoNeedDetails()
    {
        SelectPackage = new ObservableCollection<string>();
        // 在构造函数中添加示例数据
        SelectPackage.Add("Package1");
        SelectPackage.Add("Package2");
        SelectPackage.Add("Package3");
    }
}
  1. 在ViewModel中创建一个BindableCollection属性,并在构造函数中初始化该属性:
public class MainViewModel : Screen
{
    public BindableCollection<NoNeedDetails> Items { get; set; }

    public MainViewModel()
    {
        Items = new BindableCollection<NoNeedDetails>();
        // 添加示例数据
        Items.Add(new NoNeedDetails());
        Items.Add(new NoNeedDetails());
        Items.Add(new NoNeedDetails());
    }
}
  1. 在UserControl的XAML中,绑定datagrid的ItemsSource和ComboBox的ItemsSource:
<UserControl x:Class="YourNamespace.YourUserControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:cal="http://www.caliburnproject.org">
    <Grid>
        <DataGrid x:Name="Items" AutoGenerateColumns="False">
            <DataGrid.Columns>
                <DataGridTemplateColumn Header="Select Package">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <ComboBox ItemsSource="{Binding SelectPackage}"
                                      SelectedItem="{Binding SelectedPackage, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</UserControl>
  1. 在UserControl的code-behind中,设置DataContext为ViewModel,并在构造函数中初始化ViewModel:
public partial class YourUserControl : UserControl
{
    public YourUserControl()
    {
        InitializeComponent();
        DataContext = new MainViewModel();
    }
}

这样,NoNeedDetails类中的SelectPackage属性将被绑定到UserControl的datagrid中的下拉框中,并且可以通过WVVM模式来处理选中的值

UserControl的datagrid中下拉框绑定 BindableCollectionNoNeedDetails 中的 ObservableCollectionstring SelectPackage 值以WVVM模式实现请给出详细设计代码

原文地址: http://www.cveoy.top/t/topic/hXI0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录