[W 8.1]隐藏特定页面上的按钮 [英] [W 8.1] Hide button on certain page
问题描述
我有1 xml用于所有其他页面。
XAML:
<网格x:名称=" LayoutRoot">
< Grid.ChildrenTransitions>
< TransitionCollection>
< EntranceThemeTransition />
< / TransitionCollection>
< /Grid.ChildrenTransitions>
< Grid.RowDefinitions>
< RowDefinition Height =" Auto" />
< RowDefinition Height =" *" />
< /Grid.RowDefinitions>
<! - TODO:内容应放在以下网格中 - >
< Grid Grid.Row =" 1" X:名称= QUOT; ContentRoot"余量= QUOT; 19,0,0,0">
< AppBarButton x:Name =" playBtn"图标= QUOT;播放"的HorizontalAlignment = QUOT;右"能见度= QUOT;折叠"点击= QUOT; playBtn_Click" />
< AppBarButton x:Name =" pauseBtn"图标= QUOT;暂停"的HorizontalAlignment = QUOT;右"点击= QUOT; playBtn_Click" />
< MediaElement x:Name =" soundTrack"能见度= QUOT;折叠" AudioCategory = QUOT; ForegroundOnlyMedia" IsLooping = QUOT;真"源= QUOT;资产/ ost.mp3" />
< Frame x:Name =" mainFrame"背景= QUOT; {X:空}" />
< / Grid>
< / Grid>
代码:
const string soundTrackToken =" soundtrack" ;;
int flag = 1;
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
navigationHelper.OnNavigatedTo(e);
mainFrame.Navigate(typeof(Home1));
if(StorageApplicationPermissions.FutureAccessList.ContainsItem(soundTrackToken))
{
StorageFile audioFile = await StorageApplicationPermissions.FutureAccessList.GetFileAsync(soundTrackToken);
if(audioFile!= null)
{
await StartAudio(audioFile);
}
}
}
私有异步System.Threading.Tasks.Task StartAudio(StorageFile audioFile)
{
var audio = await audioFile.OpenAsync(FileAccessMode.Read);
var props = await audioFile.Properties.GetMusicPropertiesAsync();
soundTrack.SetSource(audio,audioFile.ContentType);
}
// private void playButton_Checked(object sender,RoutedEventArgs e)
// {
// soundTrack.Play();
//}
// private void playButton_Unchecked(object sender,RoutedEventArgs e)
// {
// soundTrack.Pause();
//}
private void playBtn_Tapped(object sender,TappedRoutedEventArgs e)
{
if(flag == 1)
{
//playBtn.Icon =
//playBtn.Source = new BitmapImage(new Uri(" ms-appx:/images/media/play.png"));
flag = 0;
soundTrack.Pause();
playBtn.Visibility = Visibility.Visible;
pauseBtn.Visibility = Visibility.Collapsed;
}
else if(flag == 0)
{
//playBtn.Source = new BitmapImage(new Uri(" ms-appx:/ images / media / pause .PNG"));
flag = 1;
soundTrack.Play();
playBtn.Visibility = Visibility.Collapsed;
pauseBtn.Visibility = Visibility.Visible;
}
}
}
}
如何隐藏特定页面上的按钮(例如:主页),但按钮出现在其他页面上?
注意:
我想隐藏playBtn
嗨Priscillia,
默认情况下,playBtn折叠如下:
< AppBarButton x:Name =" playBtn"图标= QUOT;播放"的HorizontalAlignment = QUOT;右"
可见性="折叠" Click =" playBtn_Click" />如果我没有误解你,为了隐藏特定页面上的按钮(例如:主页) ,但按钮出现在其他页面上,请在除主页之外的其他页面中添加以下代码:
$
protected override void OnNavigatedTo(NavigationEventArgs e)
{
navigationHelper.OnNavigatedTo(e);
playBtn.Visibility = Visibility.Visible;
}通过这种方式playBtn在其他页面中可见但在主页中已折叠。
最好的问候,
Amy Peng
I have 1 xml to be used in all the other page.
XAML:
<Grid x:Name="LayoutRoot"> <Grid.ChildrenTransitions> <TransitionCollection> <EntranceThemeTransition/> </TransitionCollection> </Grid.ChildrenTransitions> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <!--TODO: Content should be placed within the following grid--> <Grid Grid.Row="1" x:Name="ContentRoot" Margin="19,0,0,0"> <AppBarButton x:Name="playBtn" Icon="Play" HorizontalAlignment="Right" Visibility="Collapsed" Click="playBtn_Click" /> <AppBarButton x:Name="pauseBtn" Icon="Pause" HorizontalAlignment="Right" Click="playBtn_Click" /> <MediaElement x:Name="soundTrack" Visibility="Collapsed" AudioCategory="ForegroundOnlyMedia" IsLooping="True" Source="Assets/ost.mp3" /> <Frame x:Name="mainFrame" Background="{x:Null}" /> </Grid> </Grid>
Code:
const string soundTrackToken = "soundtrack"; int flag = 1; protected async override void OnNavigatedTo(NavigationEventArgs e) { navigationHelper.OnNavigatedTo(e); mainFrame.Navigate(typeof(Home1)); if (StorageApplicationPermissions.FutureAccessList.ContainsItem(soundTrackToken)) { StorageFile audioFile = await StorageApplicationPermissions.FutureAccessList.GetFileAsync(soundTrackToken); if (audioFile != null) { await StartAudio(audioFile); } } } private async System.Threading.Tasks.Task StartAudio(StorageFile audioFile) { var audio = await audioFile.OpenAsync(FileAccessMode.Read); var props = await audioFile.Properties.GetMusicPropertiesAsync(); soundTrack.SetSource(audio, audioFile.ContentType); } //private void playButton_Checked(object sender, RoutedEventArgs e) //{ // soundTrack.Play(); //} //private void playButton_Unchecked(object sender, RoutedEventArgs e) //{ // soundTrack.Pause(); //} private void playBtn_Tapped(object sender, TappedRoutedEventArgs e) { if (flag == 1) { //playBtn.Icon = //playBtn.Source = new BitmapImage(new Uri("ms-appx:/images/media/play.png")); flag = 0; soundTrack.Pause(); playBtn.Visibility = Visibility.Visible; pauseBtn.Visibility = Visibility.Collapsed; } else if (flag == 0) { //playBtn.Source = new BitmapImage(new Uri("ms-appx:/images/media/pause.png")); flag = 1; soundTrack.Play(); playBtn.Visibility = Visibility.Collapsed; pauseBtn.Visibility = Visibility.Visible; } } } }
How to hide the button on a specific page (for example: the home page), but the button appears on other pages?
Note:
i want to hide playBtn
Hi Priscillia,
Welcome to the Developing Universal Windows apps forum!
By default the playBtn is collapsed as following:
<AppBarButton x:Name="playBtn" Icon="Play" HorizontalAlignment="Right"
Visibility="Collapsed" Click="playBtn_Click" />If I do not misunderstood you, in order to hide the button on a specific page (for example: the home page), but the button appears on other pages, please add the following code in the others page except the home page:
protected override void OnNavigatedTo(NavigationEventArgs e) { navigationHelper.OnNavigatedTo(e); playBtn.Visibility = Visibility.Visible; }In this way the playBtn is visible in others page but collapsed in home page.
Best Regards,
Amy Peng
这篇关于[W 8.1]隐藏特定页面上的按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!