1
我正在使用SiverLight Datagrid在一側的下拉列表和標籤有 在下拉SelectedIndexChanged事件我想查找標籤並分配DropdownList的選定值。如何在silverlight Datagrid下拉選擇變化事件中找到標籤控件事件
的XAML頁面:
<sdk:DataGridTemplateColumn Header="New Receipe" CanUserSort="True" >
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Border Style="{StaticResource GridBackgroundBorder}" Background="{Binding Path=IsActive, Converter={StaticResource BoolToBackgroundValueConverter1}}"></Border>
<sdk:Label Margin="5,0,5,0" x:Name="lblCompVer" Content="{Binding Path=Version}" Height="Auto" VerticalAlignment="Center" Foreground="{Binding Path=IsActive, Converter={StaticResource BoolToForegroundValueConverter1}}"/>
</Grid>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
<sdk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Grid>
<ComboBox Height="Auto" SelectionChanged="cboCompVerSel_SelectionChanged" x:Name="cboCompVerSel" ItemsSource="{Binding Path=CompVerList,Mode=TwoWay}" SelectedItem="{Binding Mode=OneWay, Path=Version}" Visibility="{Binding Path=IsActive, Converter={StaticResource BoolToVisibilityValueConverter1}}"/>
<!--<TextBox Height="Auto" Text="{Binding Mode=TwoWay, Path=Version}" x:Name="TextBoxCodeVer" Visibility="{Binding Path=IsActive, Converter={StaticResource BoolToVisibilityValueConverter1}}" AcceptsReturn="True"></TextBox>-->
</Grid>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellEditingTemplate>
</sdk:DataGridTemplateColumn>
DROPDOWNLIST SelectionChanged事件:
Private Sub cboCompVerSel_SelectionChanged(ByVal sender As System.Object, ByVal e As
System.Windows.Controls.SelectionChangedEventArgs)
Dim src = TryCast(sender, ComboBox)
If src IsNot Nothing Then
Dim fe As FrameworkElement = CType(src.Parent, FrameworkElement)
Dim gridCmbo As Grid = DirectCast(fe, Grid)
Dim lblCompVer As Label = CType(gridCmbo.FindName("lblCompVer"), Label)
lblCompVer.DataContext = src.SelectedItem
End If
End Sub
我不能識別lblCompVer控制分配下拉列表中選擇值
這種方法看起來過於複雜,更不用說易碎了......你不能使用視圖模型將標籤綁定到適當的值嗎? – McGarnagle
我是silverlight的新手,你能指導我怎麼做。 – Kapil