2013-06-07 2 views
1

Есть ли у кого-нибудь образец для добавления настроек Callisto в VB? В CS есть несколько образцов, но я не могу понять их в режиме VB. Я хочу добавить один тумблер и сохранить его для моего приложения. Я использую VB и XAML.Примеры настроек Callisto в VB

ответ

1

Это то, что я использую в моем App.XAML.VB:

Private Sub addSettingsScenarioAdd() 

    AddHandler SettingsPane.GetForCurrentView.CommandsRequested, AddressOf onCommandsRequested 

End Sub 

Private Sub onSettingsCommand(command As IUICommand) 
    Dim settingsCommand As SettingsCommand = DirectCast(command, SettingsCommand) 
    Dim rootFrame As Frame = Window.Current.Content 
    rootFrame.Navigate(GetType(Page1)) 

End Sub 

Private Sub onCommandsRequested(sender As SettingsPane, args As SettingsPaneCommandsRequestedEventArgs) 
    Dim handler1 As New UICommandInvokedHandler(AddressOf onSettingsCommand) 

    Dim about = New SettingsCommand("about", "About", Sub(handler) 
                  Dim aboutpane = New SettingsFlyout() 


                  aboutpane.Content = New AboutPanel() 
                  aboutpane.IsOpen = True 
                  aboutpane.HeaderText = "About" 
                  aboutpane.Background = New SolidColorBrush(Colors.White) 
                  UserSettings.Values("isAboutOpen") = "yes" 
                 End Sub) 
    args.Request.ApplicationCommands.Add(about) 
End Sub 

И затем использовать SettingsFlyout управление для сбора и настройку магазина (например, можно хранить в изолированном хранении или установке свойств в вашем приложении. XAML.VB, который можно изменить с помощью элементов управления вылетом.

Это должно заставить вас начать (вам, очевидно, также необходимо создать элементы управления для всплывающих окон, которые просто должны быть usercontrols, которые имеют правильный размер/форму на странице . Вот пример моего управления «aboutpanel»:

<UserControl 
x:Class="ThisApp.AboutPanel" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:local="using:FootballHub" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
mc:Ignorable="d" 
d:DesignHeight="480" Width="260" ManipulationMode="None"> 

<StackPanel > 
    <Grid Background="White" Margin="0,0,0,0" ManipulationMode="None"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="50"/> 
      <RowDefinition Height="50"/> 
      <RowDefinition Height="50"/> 
      <RowDefinition Height="50"/> 
      <RowDefinition Height="50"/> 
      <RowDefinition Height="250"/> 
     </Grid.RowDefinitions> 
     <TextBlock x:Name="VersionAndPublisherText" HorizontalAlignment="Left" Margin="10,0,0,0" Foreground="{StaticResource MainColour}" TextWrapping="Wrap" VerticalAlignment="Top" Height="40" Width="240" FontSize="12" Grid.Row="1" Text="Textblock" /> 
     <TextBlock x:Name="SupportHeadingText" Grid.Row="2" FontFamily="Global User Interface" FontSize="14" FontWeight="Bold" Foreground="Black" Margin="10,0" Text="Textblock" VerticalAlignment="Bottom" /> 
     <TextBlock x:Name="SupportText" Grid.Row="3" FontFamily="Global User Interface" FontSize="12" Foreground="#FF045DF6" HorizontalAlignment="Right" Width="240" Margin="0,0,10,0" Height="50" VerticalAlignment="Top" Text="Textblock" TextWrapping="Wrap" FontStyle="Italic" /> 
     <TextBlock x:Name="MainHeadingText" HorizontalAlignment="Left" Margin="10,0,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Bottom" Width="240" FontWeight="Bold" FontFamily="Global User Interface" Foreground="Black" FontSize="14"/> 
     <TextBlock x:Name="PrivacyHeadingText" Grid.Row="4" FontFamily="Global User Interface" FontSize="14" FontWeight="Bold" Foreground="Black" Margin="10,0" Text="Textblock" VerticalAlignment="Bottom" /> 
     <TextBlock x:Name="PrivacyText" Grid.Row="5" FontFamily="Global User Interface" FontSize="12" Foreground="{StaticResource MainColour}" HorizontalAlignment="Right" Width="240" Margin="0,0,10,0" Height="211" VerticalAlignment="Top" Text="Textblock" TextWrapping="Wrap" /> 
    </Grid> 
</StackPanel> 

Добавьте кнопки и опции, и т.д. к этому.

Я также использовать обработчик для обнаружения, когда открываются мои панели/закрытие, так что я могу применить настройки и т.д .:

AddHandler Me.Unloaded, AddressOf closing_AboutPanel 
    AddHandler Me.Loaded, AddressOf opening_AboutPanel 

Это должно покрыть большую часть. При добавлении кода на свои панели вы можете просто рассматривать их как любую другую страницу или элемент управления с точки зрения ввода и сохранения настроек.

+0

Спасибо, я думаю, что это должно помочь. – Yosem

+0

Обновление, если вы застряли на любом из них. Я помню, что мне потребовались годы, чтобы заставить его работать изначально (но теперь я могу просто использовать код во всех своих приложениях). – pumpkinszwan

Смежные вопросы