Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# datagridtemplatecolumn的datatemplate内的另一个控件的数据绑定元素名称,并且转换器未启动 名称 学校 联系人ID_C#_Silverlight_Xaml_Data Binding_Datagrid - Fatal编程技术网

C# datagridtemplatecolumn的datatemplate内的另一个控件的数据绑定元素名称,并且转换器未启动 名称 学校 联系人ID

C# datagridtemplatecolumn的datatemplate内的另一个控件的数据绑定元素名称,并且转换器未启动 名称 学校 联系人ID,c#,silverlight,xaml,data-binding,datagrid,C#,Silverlight,Xaml,Data Binding,Datagrid,特定列的datatemplate内的文本框背景应根据所选的组合框项目进行着色。但是现在当我在我的converter类中设置一个断点时,转换器根本没有启动。我在某个地方读到,您需要DataContextProxy,如果需要,我该怎么做?您可以尝试将组合框移动到UserControl的资源中(将名称更改为x:Key) 然后用ContentPresenter替换原来的组合框位置,ContentPresenter的内容是参考资料中的组合框 datagrid的绑定需要更改为Background=“{bin

特定列的datatemplate内的文本框背景应根据所选的组合框项目进行着色。但是现在当我在我的converter类中设置一个断点时,转换器根本没有启动。我在某个地方读到,您需要DataContextProxy,如果需要,我该怎么做?

您可以尝试将组合框移动到UserControl的资源中(将名称更改为x:Key)

然后用ContentPresenter替换原来的组合框位置,ContentPresenter的内容是参考资料中的组合框

datagrid的绑定需要更改为Background=“{binding Source={StaticResource ComboxKeyInResources}”,Path=SelectedIndex


这样转换器绑定就可以正常工作。

我这样做是正确的,这正是我想要的工作方式:

<UserControl.Resources>

            <local:ColorConverter x:Key="cc"></local:ColorConverter>

</UserControl.Resources>
<sdk:DataGrid x:Name="gridAllContacts"  Grid.Row="1" Grid.Column="0" Width="500"                   Height="300"  AutoGenerateColumns="False">

      <sdk:DataGrid.Columns>
        <sdk:DataGridTemplateColumn Header="Name">
            <sdk:DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                   <StackPanel>
                    <TextBox Text="{Binding Path=Name, Mode=TwoWay}" Background="{Binding ElementName=columns2, Path=SelectedIndex, Mode=TwoWay, Converter={StaticResource cc}}" ></TextBox>
                   </StackPanel>
                </DataTemplate>
           </sdk:DataGridTemplateColumn.CellTemplate>
        </sdk:DataGridTemplateColumn>
     </sdk:DataGrid.Columns>              

 </sdk:DataGrid>
 <ComboBox Name="columns2"  VerticalAlignment="Center" Height="25" HorizontalAlignment="Left" Margin="150,0,0,0" SelectedIndex="0">
    <ComboBoxItem>Name</ComboBoxItem>
    <ComboBoxItem>School</ComboBoxItem>
    <ComboBoxItem>ContactID</ComboBoxItem>
</ComboBox>
        DataGridCell tempCell = new DataGridCell();

        Style cellStyle = new Style();
        cellStyle.TargetType = tempCell.GetType();
        cellStyle.Setters.Add(new Setter(DataGridCell.ForegroundProperty, new SolidColorBrush(Colors.Red)));
        gridAllContacts.Columns[0].CellStyle = cellStyle;