在UserControl
(TaskView1
)我将几个布尔值绑定到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>
此UserControl
(TaskView1
)用于显示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中的一个常见问题,还是我搞砸了什么?
答案 0 :(得分:0)
问题在于ComboBox的SelectedIndex属性设置为=&#34; 0&#34;在XAML。