1

データグリッド セルがあり、その下にテキスト ボックス コントロールがあります。ルーティング イベントを使用してそのテキスト ボックス コントロールのテキスト変更イベントを呼び出すにはどうすればよいですか? EventSetter を試しましたが、うまくいきません。

コードは次のとおりです。

<Style TargetType="{x:Type DataGridCell}" x:Key="DatagridCellWithTextbox">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type DataGridCell}">
                <Grid Background="{TemplateBinding Background}">
                    <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
                        <TextBox x:Name="txtCell" Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content.Text}" VerticalContentAlignment="Top" TextChanged="">                                
                        </TextBox>
                    </Border>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
     </Style>

ありがとうディー

4

1 に答える 1

0

私はテストしました

<TextBox x:Name="txtCell" TextChanged="txtCell_TextChanged">

そしてそれは働いています。あなたのスタイルにx:Key. スタイルを適用しましたか?

<DataGrid.Columns>
    <DataGridTemplateColumn CellStyle="{StaticResource DatagridCellWithTextbox}" />
</DataGrid.Columns>
于 2012-05-18T15:37:17.573 に答える