Не могу видеть, ложно ли CanClick в WPF - PullRequest
0 голосов
/ 18 марта 2011

У меня есть следующий wpf:

<Style x:Key="HyperlinkStyle" TargetType="Hyperlink">
    <Setter Property="Foreground"      
            Value="{StaticResource {x:Static SystemColors.ControlTextBrushKey}}"/>
    <Setter Property="TextDecorations" Value="{x:Null}"/>
</Style>

<TextBlock>                 
    <Hyperlink Command="{Binding ClickCommand, Mode=OneTime}"      
               Style="{StaticResource HyperlinkStyle}">
        <StackPanel Orientation="Horizontal">                       
            <Image Margin="0,2,2,0" Source="{Binding Icon}" />         
            <TextBlock Text="{Binding Text}" />                   
        </StackPanel>                
    </Hyperlink>            
</TextBlock>

Проблема в том, что вы не видите, является ли CanClick на ClickCommand ложным.

1 Ответ

1 голос
/ 18 марта 2011

Когда команда гиперссылки имеет значение false, она отключается (IsEnabled должно иметь значение false). Убедитесь, что это так и что дочерние элементы также отключены. Вы пытались найти, где это терпит неудачу? Например, удалите свой собственный стиль или дочерние элементы (замените их простым текстом), чтобы вы могли видеть, в чем проблема.

Edit: Так что стиль это проблема. В этом случае попробуйте наследовать от стиля по умолчанию:

<Style
    x:Key="HyperlinkStyle"
    TargetType="{x:Type Hyperlink}"
    BasedOn="{StaticResource {x:Type Hyperlink}}">
...