سؤال

I am using SiverLight Datagrid in side that one dropdownlist and label are there In the Dropdown SelectedIndexChanged Event I want to find the Label and Assign the Selected Value of DropdownList.

Xaml Page :

 <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 Event :

 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

I am not able to identify the lblCompVer control to assign the dropdown selected value

هل كانت مفيدة؟

المحلول

Here goes the Answer

Private Sub btnAssign_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)

        Dim btnAssign = TryCast(sender, Button)

        If btnAssign IsNot Nothing Then

            Dim columnUpdatedby As DataGridColumn = TaskDataGrid.Columns(15)
            Dim columntimestamp As DataGridColumn = TaskDataGrid.Columns(16)
            Dim feUpdatedby As FrameworkElement = columnUpdatedby.GetCellContent(TaskDataGrid.SelectedItem)
            Dim fetimestamp As FrameworkElement = columntimestamp.GetCellContent(TaskDataGrid.SelectedItem)

            Dim gridCmboUpdatedby As Grid = DirectCast(feUpdatedby, Grid)

            Dim gridCmbotimestamp As Grid = DirectCast(fetimestamp, Grid)

            Dim lblAssignedBy As Label = CType(gridCmboUpdatedby.FindName("lblAssignedBy"), Label)

            Dim lblAssignedTimestamp As Label = CType(gridCmbotimestamp.FindName("lblAssignedTimestamp"), Label)

            lblAssignedBy.Content = BCOMSCurrentUser.BCOMSUser.UserName
            lblAssignedTimestamp.Content = DateTime.Now.ToString()

        End If
    End Sub
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top