即使是标题也会让我发笑......
所以,到目前为止,我的代码看起来像这样:
<Grid>
<WrapPanel x:Name="wpVTList" Margin="70,356,1541,150">
<TabControl ItemsSource="{Binding VTList}"
TabStripPlacement="Left"
Padding="0,10,0,0"
x:Name="tcVTList">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}"
Width="270"
FontSize="20"
FontFamily="Calibri"
Margin="0,5,0,5"
Padding="30,0,0,0"
Height="27"
VerticalAlignment="Center"
HorizontalAlignment="Left" MouseUp="tbkVTList_MouseUp" />
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<TextBlock />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</WrapPanel>
这是我的MainWindow,或者至少是显示所有内容的窗口,我创建了与ObservableCollection字符串一样多的选项卡,它应该由查询或其他东西动态填充。
此外,我已经创建了两个海关用户控件:
<UserControl x:Class="Configurateur.Configuration.TableauEcrans"
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:telerik="http://schemas.telerik.com/2008/xaml/presentation"
mc:Ignorable="d"
d:DesignHeight="175" Width="470">
<Grid>
<Grid.Resources>
...
</Grid.Resources>
<telerik:RadGridView ItemsSource="{Binding CamerasList}"
AutoGenerateColumns="False"
ClipToBounds="True"
IsSynchronizedWithCurrentItem="True"
telerik:StyleManager.Theme="Windows8"
CanUserFreezeColumns="False">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Name}"
Header="Name"
UniqueName="Name"
Width="*"
HeaderTextAlignment="Center" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Price}"
Header="Price"
UniqueName="Price"
Width="65"
HeaderTextAlignment="Center" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Amount}"
Header="Amount"
UniqueName="Amount"
Width="100"
HeaderTextAlignment="Center" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</Grid>
</UserControl>
然后,回到我的MainWindow,我可以通过添加:
来使用它们<Grid x:Name="gridTableaux" Margin="376,356,0,0">
<custom:UCCameras Margin="10,41,944,453" />
<custom:UCOwner Margin="10,411,1054,0" />
</Grid>
在我的wrapPanel之后。它有效,他们都在这里。我把它们放在一个网格中,以划分我的MainWindow中动态区域的位置。每个userControl都是一个gridView,gridView由一个类的ObservableCollection填充(即Camera.cs),其中包含Name这样的属性,与我UC中的列绑定。
我想要做的是在MainWindow中为每个选项卡显示一个具有不同信息的新userControl。例如,如果用户在第一个选项卡中填充gridView中的一行,则他必须找到一个空的gridView,如果他选择另一个选项卡。然后,如果他回到第一个标签,他应该在开始时看到他在gridView中写的内容。
1)我不会真正看到如何在每个标签中使用我的UC,因为它们是动态创建的。我不知道将它们放在我的代码中的位置,因为我希望它们位于网格中(界定一切发生的区域),在MainWindow的另一侧,或者其他类型。
2)我绝对不知道如何在每个标签之间保存这些输入的值,以及如何选择我可以使用哪一个(因为动态方式)。
我想......每个标签都是一个类的OC列表(ObservableCollection对我所做的一切都很好)。所以我的类是一个相机(=我的gridView的一行),其属性(=我的行中的单元格),包含在ObservableCollection(=我的gridView具有的内容)中,包含在ObservableCollection&gt;中。 (=我的标签,里面有主网格)。
有什么想法吗?我希望我做了一些对我尝试做的事情有意义的事情,我在WPF中仍然是新手。也许是UC的OC ..?
感谢您的帮助!