Почему, когда я использую его как ресурс, он падает? - PullRequest
0 голосов
/ 04 октября 2011

У меня есть DataGridTextColumn, и я хотел установить текст посередине, я сделал это XAML:

        <DataGridTextColumn Header="Smooth" Binding="{Binding Smoothing}">
             <DataGridTextColumn.ElementStyle>
                    <Style TargetType="TextBox">
                        <Setter Property="VerticalContentAlignment" Value="Center"/>
                        <Setter Property="HorizontalContentAlignment" Value="Center"/>
                    </Style>
             </DataGridTextColumn.ElementStyle>
        </DataGridTextColumn>

Это сработало нормально. У меня много DataGridTextColumn, поэтому я хотел извлечь стиль в качестве ресурса. Который выглядит как:

 <UserControl.Resources>
    <Style TargetType="TextBox"  x:Key="TextBoxStyle">
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
    </Style>


</UserControl.Resources>

и я делаю это для моего GridItem:

<DataGridTextColumn Header="Smooth" Binding="{Binding Smoothing}" ElementStyle="{StaticResource ResourceKey=TextBoxStyle}"/>

Я на самом деле получаю сообщение об ошибке при проверке TargetType. Любые идеи, почему первые части работают, но не вторая часть?

Спасибо

1 Ответ

2 голосов
/ 04 октября 2011

Ваш DataGridTextColumn.ElementStyle должен быть нацелен на TextBlock и НЕ TextBox.

<Style TargetType="TextBlock" x:Key="TextBlockStyle">
     <Setter Property="VerticalContentAlignment" Value="Center"/>
     <Setter Property="HorizontalContentAlignment" Value="Center"/>
 </Style> 

Ваш DataGridTextColumn.EditingElementStyle должен быть тем, который нацелен на TextBox (если ваша сетка данных или столбец доступны для редактирования)

(просто потому, что текстовая ячейка только для чтения имеет TextBlock, а текстовая ячейка в режиме редактирования содержит TextBox)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...