我正在开展一个UWP项目。我有两个按钮可以从一个页面转到另一个页面。但我不明白为什么按钮永远不会被调用,我尝试不同的教程和技术它不起作用。
<Page
x:Class="MultiplatformMvvm.UWP.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MultiplatformMvvm.UWP"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Page.Resources>
<ResourceDictionary>
<Style x:Key="textBlockStyle" TargetType="TextBlock">
<Setter Property="Margin" Value="12,20,12,12"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="FontSize" Value="24"/>
</Style>
<Style x:Key="buttonStyle" TargetType="Button">
<Setter Property="Margin" Value="12"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Background" Value="Purple"/>
<Setter Property="Foreground" Value="White"/>
</Style>
</ResourceDictionary>
</Page.Resources>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<StackPanel>
<TextBlock Text="Un café !" Style="{StaticResource textBlockStyle}"/>
<Button x:Name="coffeeButton" Style="{StaticResource buttonStyle}" >
Go Coffee
</Button>
<Button x:Name="myContactsButton" Style="{StaticResource buttonStyle}">
My contacts
</Button>
</StackPanel>
</Grid>
</Page>
我的C#代码:
public sealed partial class MainPage : Page
{
public MainPage()
{
InitializeComponent();
coffeeButton.Click += coffeeButton_Click;
}
void coffeeButton_Click(object sender, RoutedEventArgs e)
{
// I never enter here
Frame.Navigate(typeof(CoffeeListPage));
}
private void myContactsButton_Click(object sender, RoutedEventArgs e)
{
// I never enter here
Frame.Navigate(typeof(ContactListPage));
}
}
答案 0 :(得分:1)
你试过了吗? - 将处理程序附加到xaml中的按钮,看看它是否有效? - 如果您正在使用Bindings,那么添加命令绑定?
同样在您的方案中,试试这个: 在InitializeComponent()之后的构造函数中;添加:
已加载+ =(s,e)=&gt; {coffeeButton.Click + = coffeeButton_Click; };
看看是否有效。
答案 1 :(得分:1)
我最终清理了UWP项目中的所有缓存并重建,它终于可以工作了。 希望它可以帮到某人。