【问题标题】:How to get converter for DataGridColumn如何获取 DataGridColumn 的转换器
【发布时间】:2014-09-09 07:14:59
【问题描述】:

我需要获取 DataGridColumn 的转换器。 这是 DataGrid 和列 'NoteType' XAML:

<DataGrid x:Name="grdConsolidatedNotes"
          Grid.Row="3"
          HorizontalAlignment="Stretch"
          VerticalAlignment="Stretch"
          AutoGenerateColumns="False"
          BorderBrush="Transparent"
          CanUserAddRows="False"
          ColumnWidth="*"
          HorizontalScrollBarVisibility="Auto"
          ItemsSource="{Binding Path=ConsolidatedNotes}"
          LostFocus="GrdConsolidatedNotes_OnLostFocus"
          Padding="0"
          ScrollViewer.CanContentScroll="False"
          SelectionMode="Single"
          SelectionUnit="FullRow"

          VerticalScrollBarVisibility="Auto"
          Visibility="{Binding Path=DataGridVisibility,
                               Mode=OneWay}"
          Sorting="GrdConsolidatedNotes_OnSorting">
            <DataGridTemplateColumn Width="Auto"
                                CellTemplate="{StaticResource CNNoteTypeCellTemplate}"
                                Header="{Binding hdrType,
                                                 Source={StaticResource ResourceString}}"
                                SortMemberPath="NoteType" />

这是上面使用的 CellTemplate 'CNNoteTypeCellTemplate' 的 XAML:

   <DataTemplate x:Key="CNNoteTypeCellTemplate">
        <Grid HorizontalAlignment="Stretch" VerticalAlignment="Center">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="8" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="8" />
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="8" />
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="8" />
            </Grid.ColumnDefinitions>

            <TextBlock x:Name="NoteTypeTextBlock"
                       Grid.Column="1"
                       MinHeight="20"
                       Margin="0,5,5,0"
                       HorizontalAlignment="Stretch"
                       VerticalAlignment="Center"
                       Text="{Binding Path=NoteType,
                                      Converter={StaticResource noteTypeTextConverter}}" />
        </Grid>
    </DataTemplate>

我需要检索上面在代码隐藏中使用的转换器“noteTypeTextConverter”。 请提出建议。

【问题讨论】:

  • 你说的retrieve是什么意思?这应该已经在代码隐藏中定义。如果一定要写,请查看the documentation(数据转换部分)。
  • 您能解释一下为什么需要在代码后面“检索”转换器以及在什么情况下要检索它?

标签: wpf xaml wpfdatagrid


【解决方案1】:

试试这个。FindResource("noteTypeTextConverter"); 这是添加 noteTypeTextConverter 的位置。

【讨论】:

    猜你喜欢
    • 2011-05-01
    • 2018-05-21
    • 2011-04-01
    • 2017-08-01
    • 1970-01-01
    • 2012-12-31
    • 2011-04-13
    • 2011-05-13
    • 1970-01-01
    相关资源
    最近更新 更多