c# - 如何在 ObservableCollection 构建的 View 中动态设置用户控件的 grid.column/row

标签 c# wpf mvvm observablecollection

我正在尝试在 UserControl 中查看包含我自己的类类型“NodViewModel”的 ObservableCollection。 UserControl 具有 row 和 column 定义,我想做的是动态地将每个 NodViewModel 的 Grid.Column 和 Row 属性设置为 NodView (也是用户控件)。像这样:

<UserControl x:Class="TestarDataBinding.Views.KlassView"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:m="clr-namespace:TestarDataBinding.Models"
         xmlns:vm="clr-namespace:TestarDataBinding.ViewModels"
         xmlns:v="clr-namespace:TestarDataBinding.Views"
         mc:Ignorable="d" 
         Height="110" Width="110"
         >
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="50*"/>
        <RowDefinition Height="50*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="50*"/>
        <ColumnDefinition Width="50*"/>
    </Grid.ColumnDefinitions>

    ---"Foreach in ObservableCollection<NodViewModel>"---
        <v:NodView DataContext="{Binding NodModel}" 
                    Grid.Column="{Binding Position.Column}"
                    Grid.Row="{Binding Position.Row}" />
    ---"endforeach"---
</Grid>

最佳答案

您可以使用 Itemscontrol 并将 ObservableCollection 绑定(bind)到该 itemscontrol 的 itemsource

关于c# - 如何在 ObservableCollection 构建的 View 中动态设置用户控件的 grid.column/row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34977085/

相关文章:

c# - 将 Playbin 状态设置为 NULL 或 READY 后 GStreamer XOverlay 丢失

c# - 不使用 try/catch 检查格式正确的 XML?

带有 DataTemplates 的 WPF ListBoxItems - 如何从 DataTemplate 中引用绑定(bind)到 ListBoxItem 的 CLR 对象?

c# - 如何读取应用程序日志并根据 ASP.NET 中的源对其进行过滤?

c# - 串行端口-打开错误

c# - [UWP][MVVM] 在窗口中的框架中导航

wpf - 在应用程序中管理多个 WPF View

c# - ViewModels和UI

wpf - 3D 地球仪旋转问题

wpf - 摆脱WPF中的按钮边框?