Как получить свойство ItemSource внутри колонки, внутри стиля, внутри дата триггера?
Нужно получить свойство FilePath и проверить не null'ли оно!
<DataGridTemplateColumn Header="Ссылка">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock>
<Button Command="{Binding DataContext.GetHyperLinkCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}" CommandParameter="{Binding Filepath}" Content="{Binding Filepath}"
Style="{StaticResource HyperlinkStyledButton }"/>
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Filepath, RelativeSource={RelativeSource Mode=PreviousData}}" Value="{x:Null}">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Много странного, давайте так
<DataGridTemplateColumn Header="Ссылка">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Command="{Binding DataContext.GetHyperLinkCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}" CommandParameter="{Binding Filepath}" Content="{Binding Filepath}">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource HyperlinkStyledButton}">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Filepath}" Value="{x:Null}">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Здесь вы привязываете Content="{Binding Filepath}", точно так же и в тригере привязка работает.