C # WPF добавляет обработчик навигации в DataGridHyperlinkColumn - PullRequest
0 голосов
/ 17 октября 2018

У меня проблема с приложением WPF C # .NEt 4.5.

Я программно создаю DataGridHyperlinkColumn внутри Grid.

Это означает, что в xaml почти ничего не написанофайл, но созданный непосредственно с помощью .cs

Я пытаюсь добиться следующего:

<DataGridHyperlinkColumn Header="Path" Binding="{Binding Path=FullPath}" ContentBinding="{Binding Path=Name}" IsReadOnly="True" Width="*">
   <DataGridHyperlinkColumn.ElementStyle>
      <Style>
         <EventSetter Event="Hyperlink.Click" Handler="hyperlink_Click"/>
      </Style>
   </DataGridHyperlinkColumn.ElementStyle>
</DataGridHyperlinkColumn>

С помощью этого кода я могу заполнить свою сетку ссылками, которые, когданажатие активирует мою функцию hyperlink_Click.

Теперь, если я сделаю это по коду, результат будет следующим:

        DataGridHyperlinkColumn parent = new DataGridHyperlinkColumn
        {
            Binding = new Binding("ParentName"),
        };

Но теперь я не могу прикрепить new RequestNavigateEventHandler(hyperlink_Click) к каждой ссылке, которая будет заполнять мою таблицу.

В настоящее время моя сетка заполнена ссылками, по которым невозможно щелкнуть.

Спасибо за любые предложения!

1 Ответ

0 голосов
/ 18 октября 2018

Это будет эквивалент вашего XAML:

Style style = new Style();
style.Setters.Add(new EventSetter(Hyperlink.ClickEvent, new RoutedEventHandler(hyperlink_Click)));
DataGridHyperlinkColumn parent = new DataGridHyperlinkColumn
{
    Header = "Path",
    Binding = new Binding("FullPath"),
    ContentBinding = new Binding("Name"),
    IsReadOnly = true,
    ElementStyle = style
};
...