0

我对 Button 的以下行为感到惊讶。

我为按钮+图像创建了一个用户控件。

<UserControl x:Name="root">
    <Button Command="{Binding ClickCommand, ElementName=root}" Click="Button_Click">
        <StackPanel>
            <Image Source="{Binding ImageSource, ElementName=root, Mode=OneWay}"
                   Stretch="None" />
            <TextBlock Padding="4,0"
                       Text="{Binding Caption, ElementName=root, Mode=OneWay}" />
        </StackPanel>
    </Button>
</UserControl>

和在代码隐藏中作为 RoutedEvent 和 DependencyProperty ClickEventClickCommandProperty

它按预期工作,但我不明白为什么当我没有将xaml 中的至少设置为空字符串时无法启用UserControl。ClickCommand

<c:ImageButton Caption="Refresh" Click="refresh_Click" x:Name=btnRefresh
               ClickCommand="" ImageSource="{StaticResource refresh}" />

所以没有ClickCommand=""代码btnRefresh.IsEnabled = true;是没有效果的。
另外:IsEnabledChanged事件被调用.IsEnabled = true;而不是再次将其设置为假?谜团。

4

0 回答 0