Я создал пользовательскую кнопку в своем приложении WP. Я хочу сделать его похожим на стандартную кнопку телефона с телефоном 8. XAML кодСоздание пользовательской кнопки телефона Windows
<Grid Name="btnCancle" Height="76" Width="76" Margin="24" ManipulationStarted="btnCancle_ManipulationStarted" ManipulationCompleted="btnCancle_ManipulationCompleted" >
<Ellipse Name="ellipseCancle" Grid.Row="2" Stroke="{StaticResource PhoneForegroundBrush}" StrokeThickness="3" Height="76" Width="76" />
<Canvas x:Name="appbar_close" Width="76" Height="76" Clip="F1 M 0,0L 76,0L 76,76L 0,76L 0,0">
<Path Width="31.6666" Height="31.6667" Canvas.Left="22.1666" Canvas.Top="22.1667" Stretch="Fill" Fill="{StaticResource PhoneForegroundBrush}" Data="F1 M 26.9166,22.1667L 37.9999,33.25L 49.0832,22.1668L 53.8332,26.9168L 42.7499,38L 53.8332,49.0834L 49.0833,53.8334L 37.9999,42.75L 26.9166,53.8334L 22.1666,49.0833L 33.25,38L 22.1667,26.9167L 26.9166,22.1667 Z "/>
</Canvas>
</Grid>
Код для обработчиков событий
private void btnCancle_ManipulationStarted(object sender, System.Windows.Input.ManipulationStartedEventArgs e)
{
Brush br = (Brush)Application.Current.Resources["PhoneAccentBrush"];
ellipseCancle.Fill = br;
}
private void btnCancle_ManipulationCompleted(object sender, System.Windows.Input.ManipulationCompletedEventArgs e)
{
Brush br = (Brush)Application.Current.Resources["PhoneBackgroundBrush"];
ellipseCancle.Fill = br;
}
Моя проблема заключается в том, что, когда я нажимаю на кнопку, есть небольшая задержка перед баттона как кнопка notmal. (Изменения backgrounc к PhoneAccentColor и обратно). Цвет фона не изменится, как только я коснусь его. но после одной или двух попыток он ведет себя нормально. Я пишу код для выполнения действия для этой кнопки в обработчике события Tap. но мне нужно заставить его вести себя как обычная кнопка, как только пользователь ее коснется. Что я делаю неправильно, и что я могу сделать, чтобы исправить это? Пожалуйста, помогите .. Заранее спасибо ..
Внешний вид кнопки велик. Оно работает. Но как только я запускаю приложение в эмуляторе, я получаю UnhandledException. Что может быть причиной этого? –
@ KasunKV причина в том, что визуальные состояния будут пытаться установить ваши кнопки в соответствии с именами шаблона кнопки, см. Мое обновление, которое будет окрасить вашу пользовательскую кнопку так же, как при нажатии будет работать обычная кнопка. – Mark