我正在使用WPF選項卡控件呈現用戶控件的單獨重複實例。即Item1設置的Tab1,Item2設置的Tab2等等。WPF usercontrols在單獨的選項卡上:爲什麼選項卡之間共享radiobutton組名稱?
看起來單選按鈕組名稱正在標籤之間共享。到底是怎麼回事?
簡單示例:
一個窗口包含選項卡。每個選項卡包含一個用戶控件。
<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被檢查,儘管usercontrol定義它始終在啓動時被檢查。
此外,在後面的代碼中設置單選按鈕似乎取消選中其他選項卡中的所有單選按鈕!
似乎事情在鼠標控制下表現得很好(即標籤是獨立的)。
最後,usercontrols看起來似乎是單獨的實例。例如,我嘗試過在用戶控件上使用滑塊,並且它們在各個選項卡上獨立運行。正如他們應該的。
感謝任何人的幫助。我廣泛搜索無濟於事。當然,我不是唯一有此問題的人。我正在使用VS2008。
作品。謝謝。 所以groupname屬性看起來完全沒有必要,你可以隨時將單選按鈕分隔到容器中...... – Daniel 2010-05-20 07:38:24
沒錯。如果您想將RadioButton分組在同一個容器中,您只需要GroupName。但即使如此,你可以把它們放在一個空白的邊框或類似的地方。 – 2010-05-20 08:35:47
如果您希望不同容器下的兩個單選按鈕位於同一組中,該怎麼辦?例如。在不同的堆棧面板中有兩個單選按鈕(出於某種原因),但是一次只能選擇其中一個? – digitguy 2013-06-22 07:43:47