我对Button的以下行为感到惊讶。
我为button + image创建了一个usercontrol。
<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>
ClickEvent
和ClickCommandProperty
作为RoutedEvent和DependencyProperty在代码隐藏中。
它按预期工作,但我不明白为什么当我没有将xaml中的ClickCommand
设置为空字符串时,无法启用UserControl 。
<c:ImageButton Caption="Refresh" Click="refresh_Click" x:Name=btnRefresh
ClickCommand="" ImageSource="{StaticResource refresh}" />
因此,如果没有ClickCommand=""
,则代码btnRefresh.IsEnabled = true;
无效
另外:IsEnabledChanged
事件由.IsEnabled = true;
调用,而不是再次将其设置为false?奥秘。