小编Kry*_*rek的帖子

MVVM uwp UserControl,VM为DataTemplate

我正在尝试使用MVVM模式在UWP中创建一个应用程序.作为Listbox中项目的DataTemplate的usercontrol可能有自己的VM.

这是MainPage.xaml的一部分

 <ListBox Name="ListBox1" ItemsSource="{Binding Components}">
            <ListBox.ItemTemplate >
                <DataTemplate x:DataType="vm:ComponentUserControlViewModel"  >
                    <local:ComponentUserControl />
                </DataTemplate>
            </ListBox.ItemTemplate>
 </ListBox>
Run Code Online (Sandbox Code Playgroud)

MainPageVM包含:

public ObservableCollection<Component> Components
Run Code Online (Sandbox Code Playgroud)

现在它是我的UserControl

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="*"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>
    <TextBox Text="{Binding Id}" Grid.Row="0"></TextBox>
    <TextBox Text="{Binding Name}" Grid.Row="1"></TextBox>

</Grid>
Run Code Online (Sandbox Code Playgroud)

VM:

    public class ComponentUserControlViewModel : ViewModelBase
{
    private string _componentId;
    private string _componentName;

    public ComponentUserControlViewModel()
    {
    }

    public string Id
    {
        get { return _componentId; }
        set
        {
            SetProperty(ref _componentId, value);
        }
    }
    public string Name
    {
        get { return _componentName; …
Run Code Online (Sandbox Code Playgroud)

4
推荐指数
1
解决办法
2519
查看次数

标签 统计