0

私はsilverlightアプリケーションに非常に慣れていません.私はこれを最後の1日試していますが、まだできません. 私の場合、コンボボックスを開くには 3 回のクリックが必要です。

私のXAMLコード:

<sdk:DataGridTemplateColumn Header="Category" Width="100">
    <sdk:DataGridTemplateColumn.CellTemplate>
        <DataTemplate> 
            <ComboBox Name="cmbCategory"
                IsDropDownOpen="True" 
                ItemsSource="{Binding Source={StaticResource MyViewModel},Mode=OneWay,Path=pcProjTypeTaskCtry}" 
                DisplayMemberPath="TaskCtgyName" SelectedValuePath="TaskCtgy_FK" 
                SelectedValue="{Binding piTaskCtgy_FKField,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" ToolTipService.ToolTip="{Binding psTaskCtgyNameField,UpdateSourceTrigger=PropertyChanged}"/> 
        </DataTemplate>

    </sdk:DataGridTemplateColumn.CellTemplate> 
</sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn Header="SubCategory" Width="110">
    <sdk:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Name="tbSubCategory" Text="{Binding Path=psTaskSubCtgyNameField,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" ToolTipService.ToolTip="{Binding psTaskSubCtgyNameField}" >
            </TextBlock>
        </DataTemplate> 
    </sdk:DataGridTemplateColumn.CellTemplate>
    <sdk:DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <ComboBox ItemsSource="{Binding Source={StaticResource MyViewModel},Mode=TwoWay,Path=pcTaskSubCtry}" 
                DisplayMemberPath="TaskSubCtgyName" SelectedValuePath="TaskSubCtgyName" 
                SelectedItem="{Binding Source={StaticResource MyViewModel},Path=SelectedSubTask,Mode=TwoWay}" 
                SelectedValue="{Binding psTaskSubCtgyNameField,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" 
                ToolTipService.ToolTip="{Binding psTaskSubCtgyNameField}"> 
            </ComboBox>
        </DataTemplate>
    </sdk:DataGridTemplateColumn.CellEditingTemplate>
</sdk:DataGridTemplateColumn>
4

1 に答える 1

0

Dropdownopened イベントをコンボボックスに追加し、データソースをバックエンドのコンボボックスに割り当てます。

        var obj = (ComboBox)sender;
        obj.ItemsSource = Your list;
        obj.DisplayMemberPath = "pcTaskSubCtry";

選択変更イベントでは、選択したアイテムを以下のようにキャストすることで、選択したアイテムを割り当てることができます。

 ComboBox cmbbox = (ComboBox)sender;
        if (cmbbox.SelectedValue != null)
        {
            Yourobject obj = new Yourobject() ;
            obj = MainDataGrid.SelectedItem as Yourobje;
            obj.pcTaskSubCtry= Yourobje.pcTaskSubCtry;
        }
于 2012-10-30T08:41:01.253 に答える