1

これは私がこれまでに持っているものです:

<dxe:ComboBoxEdit Name="cboUserCustomReports"
                      Width="300" Height="Auto"
                      Margin="0,5,0,5"
                      ItemsSource="{Binding Path=UserReportProfileList,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
                      EditValue="{Binding Path=UserReportProfileID,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
                      ValueMember="UserReportProfileID"
                      DisplayMember="ReportName"
                      PopupClosed="cboUserCustomReports_PopupClosed">
            <dxe:ComboBoxEdit.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="100*"/>
                            <ColumnDefinition Width="20"/>
                        </Grid.ColumnDefinitions>
                        <TextBlock Grid.Column="0"
                                   Text="{Binding ReportName, Mode=Default}" 
                                   VerticalAlignment="Stretch" HorizontalAlignment="Left"/>
                        <Button Name="btnDelete" 
                                Grid.Column="1"
                                Width="20" Height="20"
                                VerticalAlignment="Center" HorizontalAlignment="Right"
                                Click="btnDelete_Click">
                            <Button.Template>
                                <ControlTemplate>
                                    <Image Source="/RMSCommon;component/Resources/Delete.ico"></Image>
                                </ControlTemplate>
                            </Button.Template>
                        </Button>
                    </Grid>
                </DataTemplate>
            </dxe:ComboBoxEdit.ItemTemplate>
        </dxe:ComboBoxEdit>

まず、2 つの列を独立させたいと思います。ユーザーはアイテムを選択または削除できる必要があります。

次に、ItemTemplate のボタンをクリックできるようにしたいと思います。

この動作を得るには何を追加する必要がありますか?

現時点では次のようになっています。

ここに画像の説明を入力

4

2 に答える 2

2

あなたのボタンはクリック
可能であり、クリックイベントの処理方法を知りたいと思います。右?
クリック ハンドラについては、次のコードを追加します。

private void btnDelete_Click(object sender, RoutedEventArgs e) {
    FrameworkElement fe = sender as FrameworkElement;
    if(null == fe){
        return;
    }
    UserReportProfile userReportProfile = fe.DataContext as UserReportProfile;
    if (null == userReportProfile) {
        return;
    }
    // Do here your deletion-operation

}

あなたのアイテムクラスの名前は UserReportProfile だと思います。それ以外の場合は、宣言された型を適宜変更してください。

レイアウト 配置
のために、ComboBox に次の宣言を追加します。

HorizontalContentAlignment="Stretch" 

これにより、DataTemplate-Grid に全幅が与えられ、必要に応じて項目をレイアウトできます。

<dxe:ComboBoxEdit Name="cboUserCustomReports"                         
      HorizontalContentAlignment="Stretch"            
      Width="300" Height="Auto"                         
      Margin="0,5,0,5"   
      ...>
于 2011-01-26T09:06:50.873 に答える
1

あなたの質問は十分に明確ではありません。しかし、コンボボックス内のテキスト画像を垂直方向に揃えたいと思います。もしそうなら、これを行う必要があるのは次のとおりです。

<Grid.ColumnDefinitions>
   <ColumnDefinition Width="*"/>
   <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>

そして、あなたのアイテムはすでにクリック可能だと思います!

于 2011-01-26T09:08:14.743 に答える