【发布时间】:2022-01-22 10:11:25
【问题描述】:
对 WPF 世界来说还算新鲜。当它是根下的基本元素树时,我过去将数据绑定到视图模型就很好了。
这样可以正常工作:
<TextBox x:Name="emailTxt" Grid.Row="6" Grid.Column="2" Text="{Binding Path=Email}">
我的电子邮件字符串对象绑定并适当地显示在上面的文本框中。
但是,当使用 DataTemplate 时似乎没有任何效果。我不确定它是否是未正确实现 DataTemplate 或 TabControl 的组合。我已经尝试根据其他来源(在模板上设置 DataType 等)稍微切换逻辑,但这并不好。
这是我目前拥有的示例(抱歉,模板很长,需要一个 3x40 单元格的大网格):此模板存在于 Windows.Resources 下。
<DataTemplate x:Key="commGridTemplate" DataType="{x:Type ViewModels:CommViewModel}">
<ScrollViewer Margin="10,30,60,30">
<Grid Name="CommGrid" IsSharedSizeScope="True"> <!-- DataContext="{Binding}" -->
<Grid.ColumnDefinitions>
<ColumnDefinition Name="RowBoxCol" Width="0.2*"></ColumnDefinition>
<ColumnDefinition Name="ChannelCol" Width="1*"></ColumnDefinition>
<ColumnDefinition Name="FrequencyCol" Width="1*"></ColumnDefinition>
<ColumnDefinition Name="DescriptionCol" Width="2*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<!--#region Row Definitions-->
<RowDefinition Height="20" SharedSizeGroup="CommRow"></RowDefinition> <!-- Header Row-->
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<RowDefinition SharedSizeGroup="CommRow"></RowDefinition>
<!--#endregion Row Definitions-->
</Grid.RowDefinitions>
<!-- Header boxes-->
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="0" IsReadOnly="True"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="1" Grid.Row="0" HorizontalContentAlignment="Center" IsReadOnly="True" Text="Channel"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="2" Grid.Row="0" HorizontalContentAlignment="Center" IsReadOnly="True" Text="Frequency"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="3" Grid.Row="0" HorizontalContentAlignment="Center" IsReadOnly="True" Text="Description"></TextBox>
<!--#region Content boxes-->
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="1" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox x:Name="ExampleBox" Text="{Binding Path=ExampleText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Grid.Column="1" Grid.Row="1" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="1" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="1" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="2" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="2" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="2" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="2" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="3" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="3" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="3" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="3" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="4" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="4" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="4" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="4" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="5" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="5" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="5" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="5" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="6" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="6" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="6" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="6" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="7" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="7" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="7" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="7" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="8" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="8" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="8" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="8" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="9" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="9" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="9" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="9" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="10" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="10" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="10" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="10" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="11" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="11" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="11" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="11" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="12" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="12" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="12" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="12" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="13" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="13" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="13" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="13" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="14" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="14" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="14" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="14" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="15" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="15" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="15" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="15" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="16" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="16" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="16" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="16" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="17" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="17" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="17" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="17" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="18" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="18" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="18" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="18" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="19" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="19" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="19" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="19" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="20" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="20" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="20" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="20" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="21" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="21" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="21" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="21" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="22" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="22" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="22" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="22" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="23" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="23" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="23" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="23" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="24" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="24" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="24" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="24" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="25" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="25" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="25" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="25" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="26" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="26" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="26" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="26" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="27" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="27" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="27" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="27" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="28" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="28" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="28" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="28" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="29" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="29" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="29" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="29" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="30" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="30" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="30" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="30" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="31" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="31" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="31" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="31" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="32" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="32" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="32" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="32" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="33" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="33" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="33" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="33" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="34" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="34" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="34" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="34" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="35" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="35" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="35" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="35" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="36" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="36" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="36" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="36" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="37" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="37" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="37" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="37" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="38" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="38" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="38" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="38" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="39" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="39" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="39" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="39" HorizontalContentAlignment="Center"></TextBox>
<TextBox Style="{StaticResource HeaderFiller}" Grid.Column="0" Grid.Row="40" HorizontalContentAlignment="Center" IsReadOnly="True"></TextBox>
<TextBox Grid.Column="1" Grid.Row="40" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="2" Grid.Row="40" HorizontalContentAlignment="Center"></TextBox>
<TextBox Grid.Column="3" Grid.Row="40" HorizontalContentAlignment="Center"></TextBox>
<!--#endregion-->
<ContentPresenter Content="{Binding}"/>
</Grid>
</ScrollViewer>
</DataTemplate>
<Grid Name="MainWindowGrid">
<GroupBox Style="{DynamicResource GroupBoxStyleNoHeader}" BorderThickness="1" Margin="10,25,10,10">
<Grid Name="GroupBoxGrid">
<Grid.RowDefinitions>
<RowDefinition x:Name="tabControlRow" Height="14*"></RowDefinition>
<RowDefinition x:Name="formButtonsRow" SharedSizeGroup="A"></RowDefinition>
</Grid.RowDefinitions>
<TabControl Name="CommTabs" Grid.Row="0" Margin="5,10,5,0" ContentTemplate="{StaticResource commGridTemplate}">
<TabItem Name="UHFTab" Header="UHF" Padding="15,2,15,2"/>
<TabItem Name="VHFTab" Header="VHF" Padding="15,2,15,2"/>
</TabControl>
现在我只是试图让 Grid 1,1 处的 ExampleBox 绑定到我的 CommViewModel 中存在的 ExampleText 对象。我在顶部为 xmlns:ViewModels="clr-namespace:CommGUI.ViewModels" 设置了一个命名空间,因此希望它可以访问。我还将 ViewModel 设置为 MainWindow.xaml.cs 中主窗口的 DataContext
ViewModels.CommViewModel viewModel = new ViewModels.CommViewModel(Convert.ToString(id));
this.DataContext = viewModel;
任何意见将不胜感激。
**编辑:**回应评论:我的网格是由所有文本框组成的 3x40。 3 列,40 行。顶行由禁用的框组成,用作每列的标题。这些列是频道、频率和说明。我想每一行都将包含来自 CommViewModel 的绑定对象的数据。
【问题讨论】:
-
让我们后退一步...您的网格是 3x40?编辑您现有的帖子,不要将其放在评论中。您能否发布您尝试在网格中呈现的内容(可能是数据网格)的上下文。为什么是 3x40。您可以发布单个记录的上下文示例吗?还是每列代表 3 行上的重复数据?这可能会帮助我或其他人更好地为您的需求提供解决方案。只需给我们您正在尝试获取输出的上下文。我看到了频道、频率和描述,但没有示例数据,即使要显示的文字也是如此。
-
更新了更多信息。
-
你肯定想使用DataGrid。访问链接并向下滚动到备注部分以查找渲染示例的图像。作为开发人员或程序员,当您必须编写重复的代码时,您应该始终感到警惕,尤其是在这种重复程度的情况下。
标签: wpf data-binding datatemplate