RadioButtons搞乱绑定数据

时间:2018-01-27 21:29:25

标签: wpf radio-button

UserControlTaskView1)我将几个布尔值绑定到RadioButtons

      <StackPanel>
                <RadioButton Content="Spell" IsChecked="{Binding IsSpell}"  />
                <RadioButton Content="Movement" IsChecked="{Binding IsMovement}"/>
                <RadioButton Content="Action" IsChecked="{Binding IsAction}" />
                <RadioButton Content="Find" IsChecked="{Binding IsFind}"/>
       </StackPanel>

UserControlTaskView1)用于显示Task中的所选TreeView(请注意,我已定义了两个DataTemplate,因为有两个Task不同类型的 <GroupBox Header="Selected Task"> <GroupBox.Resources> <DataTemplate DataType="{x:Type local:Task1}"> <local:TaskView1/> </DataTemplate> <DataTemplate DataType="{x:Type local:Task2}"> <local:TaskView2/> </DataTemplate> </GroupBox.Resources> <Grid HorizontalAlignment="Left"> <ScrollViewer DataContext="{Binding SelectedItem, ElementName=TaskTreeView}" Content="{Binding}"/> </Grid> </GroupBox> ,我希望每个人都有不同的观点。)

Task1Instance1

当我更改树中的任务选择时,会出现问题。由于单选按钮是独占的,我经常发现,当我在树Task1Instance2中选择Movement时,Spell的实际绑定数据已被更改。

示例:

在树中选择任务A.这是IsMovement。 然后用户选择任务B,它是import java.util.Scanner; public class Fibonacci { public static void main(String[] args) { int userInput; Fibonacci.fibonacciAlgor(5); } public static void fibonacciAlgor(int userInput) { int i=0; int buffer=-1; int x=0,y=1; System.out.println("Input: " + userInput); while(i<1000000){ if(x==userInput){ System.out.println("Belongs to sequence: Yes ""); break; } else{ if(userInput>buffer&&userInput<x){ System.out.println("Belongs to sequence: No "); System.out.println("Nearest Elements: " + buffer+","+x); break; } } buffer=x; int temp=y; y=x+y; x=temp; i++; } } } 。会发生什么变化,以某种方式更改任务A的数据,现在[ {'text': 'Text1', 'url': 'Url1'}, {'text': 'Text2', 'url': 'Url2'}, {'text': 'Text3', 'url': 'Url3'}, ] 为假,因此如果用户再次选择任务A,则不会选择RadioButton。

问题:

这是WPF中的一个常见问题,还是我搞砸了什么?

1 个答案:

答案 0 :(得分:0)

问题在于ComboBox的SelectedIndex属性设置为=&#34; 0&#34;在XAML。