Sha*_*iar 4 c# xaml winrt-xaml windows-10 uwp
在我的Windows 10通用应用程序中,我在页面中有一个AppBarButton:
<AppBarButton x:Name="PinBtn" Icon="Pin" Click="PinBtn_Click"/>
Run Code Online (Sandbox Code Playgroud)
我想检查一下 Icon="Pin" UnPin,反之亦然.
所以我尝试这样编码:
private void PinBtn_Click(object sender,RoutedEventArgs e)
{
if(PinBtn.Icon == new SymbolIcon((Symbol.Pin)))
{
PinBtn.Icon = new SymbolIcon(Symbol.UnPin);
}
else {
PinBtn.Icon = new SymbolIcon(Symbol.Pin);
}
}
Run Code Online (Sandbox Code Playgroud)
问题:(PinBtn.Icon == new SymbolIcon((Symbol.UnPin)))总是回来 FALSE
有什么问题并解决它?
它不会起作用'因为它Icon是一种参考类型.它永远不会等于新的实例SymbolIcon.
你应该AppBarToggleButton在这种情况下使用a 并订阅Checked和Unchecked事件.
<AppBarToggleButton x:Name="PinToggle" Icon="Pin" Checked="PinToggle_Checked" Unchecked="PinToggle_Unchecked" />
private void PinToggle_Checked(object sender, RoutedEventArgs e)
{
PinToggle.Icon = new SymbolIcon(Symbol.UnPin);
}
private void PinToggle_Unchecked(object sender, RoutedEventArgs e)
{
PinToggle.Icon = new SymbolIcon(Symbol.Pin);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2650 次 |
| 最近记录: |