我正在使用 WPF 选项卡控件来呈现用户控件的单独重复实例。即Tab1 用于Item1 设置,Tab2 用于Item2 设置,依此类推。
似乎单选按钮组名称正在选项卡之间共享。到底是怎么回事?
简单的例子:
一个窗口包含选项卡。每个选项卡都包含一个用户控件。
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:lib="clr-namespace:WpfApplication1"
Title="Window1" Height="300" Width="300">
<Grid>
<TabControl Margin="0,0,0,100" Name="tabControl1">
<TabItem Header="tabItem1" Name="tabItem1">
<lib:UserControl1 x:Name="userControlInTab1" />
</TabItem>
<TabItem Header="tabItem2" Name="tabItem2">
<lib:UserControl1 x:Name="userControlInTab2" />
</TabItem>
</TabControl>
</Grid>
用户控件只是一组中的两个单选按钮:
<UserControl x:Class="WpfApplication1.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="50" Width="100">
<StackPanel>
<RadioButton GroupName="Group1" Name="radiobutton1" Content="option1" IsChecked="True" />
<RadioButton GroupName="Group1" Name="radiobutton2" Content="option2" />
</StackPanel>
如果您运行此应用程序,您将看到仅选中第二个选项卡中的 radiobutton1,尽管用户控件将其定义为在启动时始终检查。
此外,在后面的代码中将单选按钮设置为已选中似乎会取消选中其他选项卡中的所有单选按钮!
似乎在鼠标控制下事情表现良好(即选项卡是独立的)。
最后,用户控件似乎确实是单独的实例化。例如,我已经在用户控件上使用滑块进行了尝试,它们确实在选项卡之间独立运行。正如他们应该的那样。
感谢任何人对此的帮助。我进行了广泛的搜索,但无济于事。当然,我不是唯一遇到这个问题的人。我正在使用VS2008。