我在ViewModel类,EmployeeList和Employee中有2个属性。 EmployeeList是动态属性,可以说,此属性可以在运行时更改。 ViewModel类的源代码如下:
public class SampleViewModel
{
public ObservableCollection<Employee> EmployeeList { get; set; }
public Employee { get { ... } set { ... } }
}
View已将其ItemsSource
和SelectedValue
属性分别设置为EmployeeList和Employee。
ItemsSource="{Binding EmployeeList, Mode=TwoWay}"
SelectedValue="{Binding Employee, Mode=TwoWay}"
Everythings工作正常,但EmployeeList已更改且EmployeeList中不存在Employee,下面是方案步骤。
我想知道如何解决这些问题?
答案 0 :(得分:2)
我猜你必须像下面那样绑定组合框:
<ComboBox Grid.Row="5" Grid.Column="1" ItemsSource="{Binding Path=Employee,Mode=TwoWay}">
<DataTemplate>
<StackPanel>
<TextBlock Height="8" HorizontalAlignment="Center" Text="{Binding Path=MR.A}"/>
<TextBlock Height="8" HorizontalAlignment="Center" Text="{Binding Path=MR.B}"/>
</StackPanel>
</DataTemplate>
</ComboBox>
答案 1 :(得分:0)
我也遇到Silverlight 4 ComboBox和SelectedValue绑定的主要问题。奇怪的是,使用SelectedItem进行绑定非常有效,但这并不总是可行,尤其是在使用域对象和FK Id类型查找时。
在CSLA论坛上查看我的帖子 - 它在使用所选值时解决了大多数时间和绑定问题。
http://forums.lhotka.net/forums/p/9786/45971.aspx
希望有所帮助
答案 2 :(得分:0)
我可以通过Silverlight ComboBox Sample for RIA Services的解决方案来解决这个问题。