C# 根据文件是否存在刷新控件样式

C# 根据文件是否存在刷新控件样式,c#,wpf,xaml,C#,Wpf,Xaml,我有以下用于显示文件的xaml。如果该文件存在于本地计算机上,则它是一个可单击的超链接,否则只是一个普通的文本块 <TextBlock Visibility="{Binding FileName, Converter={StaticResource fileExistsConverter}}" Grid.Column="2" TextDecorations="Underline" Margin="5,0,0,0" Foreground="Black" Text="{Binding

我有以下用于显示文件的xaml。如果该文件存在于本地计算机上,则它是一个可单击的超链接,否则只是一个普通的文本块

    <TextBlock Visibility="{Binding FileName, Converter={StaticResource fileExistsConverter}}" Grid.Column="2" TextDecorations="Underline" Margin="5,0,0,0" Foreground="Black" Text="{Binding FileName}" />
    <TextBlock Margin="5,0,0,0" Grid.Column="2" Visibility="{Binding FileName, Converter={StaticResource fileDoesntExistConverter}}">
        <Hyperlink Click="Hyperlink_Click_1">
            <TextBlock Text="{Binding FileName}" />
        </Hyperlink>
    </TextBlock>

这在页面加载时起作用,但在窗口打开时(例如,下载列出的文件之一时)不会更新。如何触发刷新,以便XAML可以交换样式?

参考资料:

   <Style x:Key="SwapTemplateStyle" TargetType="ContentControl">

       <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ContentControl">
                    <TextBlock />
                </ControlTemplate>                                                       
            </Setter.Value>
        </Setter>

        <Style.Triggers>
            <DataTrigger Binding="{Binding IsExist}" Value="True">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="ContentControl">                                
                              <Hyperlink>
                                 <TextBlock />
                              </Hyperlink>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </DataTrigger>                
        </Style.Triggers>
   </Style>

在你看来:

        <ContentControl Style="{StaticResource SwapTemplateStyle}" />

Raise NotifyPropertyChanged作为文件名。