我对 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 ClickEvent
。ClickCommandProperty
它按预期工作,但我不明白为什么当我没有将xaml 中的至少设置为空字符串时无法启用UserControl。ClickCommand
<c:ImageButton Caption="Refresh" Click="refresh_Click" x:Name=btnRefresh
ClickCommand="" ImageSource="{StaticResource refresh}" />
所以没有ClickCommand=""
代码btnRefresh.IsEnabled = true;
是没有效果的。
另外:IsEnabledChanged
事件被调用.IsEnabled = true;
而不是再次将其设置为假?谜团。