Добавление значка в ячейку в сетке WPF DecExpress - PullRequest
0 голосов
/ 23 мая 2018

Мне нужен свежий взгляд, потому что я делаю что-то не так и не могу понять, что.Я пытаюсь добавить значок в сетку DevExpress.Значок будет активен, чтобы открыть опрос для редактированияЗначок не отображается.

В SurveyVMO:

  public Image EditIcon { get; set; }
    public static List<VMOSurvey> PopulateSurveyList()
    {
        List<Survey> surveyList = Survey.PopulateSurveyList();
        List<VMOSurvey> surveys = new List<VMOSurvey>();
        foreach (Survey svy in surveyList)
        {
            VMOSurvey s = new VMOSurvey(svy);

            if (svy.IsEditable)
                s.EditIcon =  Image.FromFile(@".\Images\pencil.png");
            surveys.Add(s);
        }
        return surveys;
    }

Затем в ManageSurveyWindow.xaml:

<Window.Resources>
    <Style x:Key="SurveyGrid" TargetType="{x:Type dxg:GridControl}">
        <Setter Property="AllowLiveDataShaping" Value="True"/>
        <Setter Property="SelectionMode" Value="Row"/>
        <Setter Property="Foreground" Value="Black"/>
        <Setter Property="FontSize" Value="18"/>
        <Setter Property="FontWeight" Value="Thin"/>
        <Setter Property="FontFamily" Value="Helvetica"/>
        <Setter Property="Margin" Value="10, 10, 10, 10"/>
        <Setter Property="HorizontalContentAlignment" Value="Left"/>
    </Style>
    <Style x:Key="ColumnHeaderStyling" TargetType="TextBlock">
        <Setter Property="Foreground" Value="White"/>
        <Setter Property="FontFamily" Value="Helvetica"/>
        <Setter Property="FontWeight" Value="Thin"/>
        <Setter Property="FontSize" Value="24"/>
    </Style>
    <Style x:Key="ManageSurveyTableStyling" TargetType="{x:Type dxg:TableView}">
        <Setter Property="ShowFixedTotalSummary" Value="True"/>
        <Setter Property="IsTotalSummaryMenuEnabled" Value="False"/>
        <Setter Property="ShowGroupedColumns" Value="False" />
        <Setter Property="ShowGroupPanel" Value="False"/>
        <Setter Property="EnableImmediatePosting" Value="True"/>
        <Setter Property="AutoWidth" Value="True"/>
        <Setter Property="HorizontalContentAlignment" Value="Left"/>
        <Setter Property="VerticalScrollbarVisibility" Value="Auto"/>
    </Style>
</Window.Resources>
<Grid>
    <dxg:GridControl AllowLiveDataShaping="True" ItemsSource="{Binding Surveys}" >
        <dxg:GridControl.Columns>
<dxg:GridColumn x:Name="EditIconColumn">
<dxg:GridColumn.HeaderTemplate>
  <DataTemplate>
   <TextBlock Text=" " Style="{StaticResource ColumnHeaderStyling}"/>
                    </DataTemplate>
                </dxg:GridColumn.HeaderTemplate>
                <dxg:GridColumn.HeaderStyle>
                    <Style TargetType="Control">
                        <Setter Property="Background" Value="#52658F"/>
                    </Style>
                </dxg:GridColumn.HeaderStyle>
                <DataTemplate>
                    <Image Height="32" Width="32" Source="{Binding EditIcon}" />
                </DataTemplate>
            </dxg:GridColumn>
        </dxg:GridControl.Columns>
        <dxg:GridControl.View>
            <dxg:TableView AllowEditing="False" Style="{StaticResource ManageSurveyTableStyling}"/>
        </dxg:GridControl.View>
    </dxg:GridControl>

</Grid>

1 Ответ

0 голосов
/ 25 мая 2018

Я понял это.Мой EditIcon должен был быть ImageSource:

public ImageSource EditIcon { get; set; }

А затем мне пришлось добавить следующий код в мой файл xaml:

<dxg:GridColumn.EditSettings >
                    <dxe:ImageEditSettings MaxWidth="30">                        
</dxe:ImageEditSettings>

Теперь я пытаюсь выяснить, какдобавить событие клика к изображению.:)

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