我有以下XAML代码:
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="False" x:Name="PageBar">
<shell:ApplicationBarIconButton IconUri="/Assets/Icons/appbar.questionmark.rest.png" Text="Help" x:Name="HelpIcon" Click="HelpIcon_Click" />
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="Help" x:Name="HelpItem" Click="HelpIcon_Click" />
<shell:ApplicationBarMenuItem Text="About" x:Name="AboutItem" Click="AboutItem_Click" />
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
Run Code Online (Sandbox Code Playgroud)
但在C#代码中总是如此null.
你知道为什么吗?
我一直试图App bar在WinRT metro app(C#/ XAML)中实现,但不知道从哪里开始.我尝试过使用<ApplicationBar/>标签,但是出现了Type not found错误.
网上没有帮助,有人可以用答案更新这篇文章,以便它也可以作为其他程序员的参考吗?
只有一个JavaScript样本没有太多帮助.
在为Windows Phone 8的应用程序酒吧指南指出AppBar按钮图标应该是48x48px.它还说可以找到一堆示例图标C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Icons.
但那里的图像是76x76px.而且它们工作正常,至少在他们做的模拟器上.
那么适当的尺寸是多少?
我有一个Windows Phone 7.1芒果应用程序,我大多成功地覆盖了内置的主题颜色.但是,如果用户选择了白色主题并且页面具有深色背景和暗应用程序栏,则应用程序栏将呈现并使用白色背景进行动画处理,从而导致恼人的闪烁.完成后,动画背景颜色会适当地设置为深色.
有没有办法禁用应用栏动画或设置其初始动画背景颜色?
请参阅此视频捕捉的闪烁问题.
XAML:
<phone:PhoneApplicationPage x:Class="AppBarFlickers.Page1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
mc:Ignorable="d"
d:DesignWidth="480"
d:DesignHeight="728"
SupportedOrientations="Portrait"
Orientation="Portrait">
<Grid Background="Black">
<Button Content="Toggle App Bar"
Margin="100,185,100,0"
VerticalAlignment="Top"
Click="ButtonClick"
Foreground="White"
Background="Black"
BorderBrush="White" />
</Grid>
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar BackgroundColor="Black"
ForegroundColor="White">
<shell:ApplicationBarIconButton IconUri="/icon.png"
Text="Button 1" />
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
</phone:PhoneApplicationPage>
Run Code Online (Sandbox Code Playgroud)
代码背后:
public partial class Page1
{
public Page1()
{
InitializeComponent();
}
private void ButtonClick(object sender, RoutedEventArgs e)
{
ApplicationBar.IsVisible = !ApplicationBar.IsVisible;
}
}
Run Code Online (Sandbox Code Playgroud) c# flicker windows-phone-7 application-bar windows-phone-7.1
我认为这有一个微不足道的答案,但我没有得到它.基本上我有一个Windows Phone 8应用程序,其中包含一个Pivot和应用程序栏.我希望在导航到Pivot中的某个页面时隐藏应用程序栏.
我所做的是在Pivot_SelectionChanged事件中添加以下代码:
AppBar.IsVisible = !((((Pivot)sender).SelectedIndex) == 2);
Run Code Online (Sandbox Code Playgroud)
因此,当显示第3页时,应用程序栏将被隐藏,并且应在第3页导航离开时显示.但是,当我运行应用程序时,我得到了AppBar的NullReference错误.
我试着把它放进去Dispatcher.BeginInvoke:
Dispatcher.BeginInvoke(() => {
AppBar.IsVisible = !((((Pivot)sender).SelectedIndex) == 2);
});
Run Code Online (Sandbox Code Playgroud)
它适用于前几次滑动,但是在第三页上导致NullReference异常.
我完全走错了轨道还是有更简单的方法来做到这一点?
c# xaml nullreferenceexception application-bar windows-phone-8
在我的C#Windows Phone 8应用程序中,我有一个AppBar.我在这个AppBar上有两个图标,一个新图标和一个编辑图标.我想在按下时将编辑图标更改为后退图标,然后再次按下时再返回编辑图标.我试过这段代码,但是我得到一个nullReferenceException:
public static Uri addIcon = new Uri("/Assets/AppBar/new.png", UriKind.Relative);
public static Uri backIcon = new Uri("/Assets/AppBar/back.png", UriKind.Relative);
//Edit the projects
if (editMode.Equals(false))
{
//EditMode is off, enable edit mode and modify the editprojectMenuButton
editMode = true;
editprojectMenuButton.IconUri = backIcon;
editprojectMenuButton.Text = "finish";
} else
{
//EditMode is on, disable edit mode and modify the editprojectMenubutton
editMode = false;
editprojectMenuButton.IconUri = addIcon;
editprojectMenuButton.Text = "edit";
}
Run Code Online (Sandbox Code Playgroud)
Xaml代码:
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
<shell:ApplicationBarIconButton x:Name="editprojectMenuButton" IconUri="/Assets/AppBar/edit.png" Text="Edit" Click="editprojectMenuButton_Click"/>
<shell:ApplicationBarIconButton x:Name="addprojectMenuButton" IconUri="/Assets/AppBar/new.png" …Run Code Online (Sandbox Code Playgroud) 我在C:\ Program Files(x86)\ Microsoft SDKs\Windows Phone\v7.0\Icons中找到了应用程序栏图标,但此文件夹不包含以下标准图标:
我想坚持WP7的外观和感觉,那么在哪里可以找到这些图标?
那么,我的问题是什么?我有一个popup,当我打开它时,我想在我的Windows手机应用程序中禁用当前页面.所以我这样做this.IsEnabled = false;但是我ApplicationBar仍然可用.当然我尝试:
ApplicationBar.IsMenuEnabled = false;
Run Code Online (Sandbox Code Playgroud)
我的下一个想法是做这样的事情:
for (int i = 0; i < ApplicationBar.MenuItems.Count; i++)
{
((ApplicationBarMenuItem)ApplicationBar.Buttons[i]).IsEnabled = false;
}
Run Code Online (Sandbox Code Playgroud)
但仍然没有结果.我确信之前已经完成了一些,你能告诉我怎么做的吗?
我ApplicationBarMenu在wp7项目中为页面添加了一个带图标的新按钮.当我试图运行页面时,我得到:
无法分配给属性'Microsoft.Phone.Shell.ApplicationBarIconButton.Click'.[行:56位置:124]
哪个指向我添加的新菜单项按钮(第二个,send_report_button):
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
<shell:ApplicationBarIconButton x:Name="take_photo_button" IconUri="/Images/appbar.feature.camera.rest.png" Text="Take photo" Click="TakePhotoClick" />
<shell:ApplicationBarIconButton x:Name="send_report_button" IconUri="/Images/mail.sent.png" Text="Send report" Click="SendReportClick" />
<shell:ApplicationBarIconButton x:Name="logout_button" IconUri="/Images/appbar.logout.rest.png" Text="Logout"/>
<shell:ApplicationBar.MenuItems>
<!--<shell:ApplicationBarMenuItem x:Name="menuItem1" Text="MenuItem 1"/>
<shell:ApplicationBarMenuItem x:Name="menuItem2" Text="MenuItem 2"/>-->
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
Run Code Online (Sandbox Code Playgroud)
我检查了十次,我有一个方法.xaml.cs:
private void SendReportClick(object sender, RoutedEventArgs e)
Run Code Online (Sandbox Code Playgroud)
但是,VS似乎并没有认识到它,或者其他什么是错的.
谢谢
我有一个3 PivotItem秒的应用程序和一个ApplicationBar.我想隐藏ApplicationBar在PivotItem第2和第3选择,并显示ApplicationBar首当PivotItem选择.
application-bar ×10
c# ×6
icons ×2
silverlight ×2
xaml ×2
flicker ×1
pivotitem ×1
shell ×1
windows-8 ×1
winrt-xaml ×1