2010-11-28 20 views
1

私はWP7コントロールツールキットから以下のように2つのトグルスイッチを使用しています。最初のトグルに基づいて、2番目のトグルスイッチを有効または無効にする必要があります。 2番目のトグルスイッチのディセーブルは正常に機能しますが、イネーブルが実行されると、テキストフォアグラウンドは決して変更されません。なぜこれが起こっているのか理解してください。あなたはToggleSwitch - テキストを有効にする方法?

toggleTwitterAutoPublish.IsChecked = isAutoPublish; 

をしようとするとき(AlterTwitterControlsDisplay機能の他の部分で)

toggleTwitterAutoPublish.IsChecked = false; 

を行う上で

<!--ContentPanel - place additional content here--> 
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
    <toolkit:ToggleSwitch Header="twitter" Margin="10,15,0,0" Name="toggleTwitter" Checked="toggleTwitter_Checked" Unchecked="toggleTwitter_Unchecked"> 
     <toolkit:ToggleSwitch.HeaderTemplate> 
      <DataTemplate> 
       <ContentControl FontSize="{StaticResource PhoneFontSizeLarge}" Foreground="{StaticResource PhoneForegroundBrush}" Content="{Binding}"/> 
      </DataTemplate> 
     </toolkit:ToggleSwitch.HeaderTemplate> 
     <toolkit:ToggleSwitch.ContentTemplate> 
      <DataTemplate> 
       <StackPanel> 
        <StackPanel Orientation="Horizontal"> 
         <TextBlock Text="Status: " FontSize="{StaticResource PhoneFontSizeMedium}"/> 
         <ContentControl HorizontalAlignment="Left" FontSize="{StaticResource PhoneFontSizeMedium}" Content="{Binding}"/> 
        </StackPanel> 
       </StackPanel> 
      </DataTemplate> 
     </toolkit:ToggleSwitch.ContentTemplate> 
    </toolkit:ToggleSwitch> 
    <toolkit:ToggleSwitch Header="" Margin="10,100,0,-35" Name="toggleTwitterAutoPublish" Checked="toggleTwitterAutoPublish_Checked" Unchecked="toggleTwitterAutoPublish_Unchecked"> 
     <toolkit:ToggleSwitch.ContentTemplate> 
      <DataTemplate> 
       <StackPanel> 
        <StackPanel Orientation="Horizontal"> 
         <TextBlock Text="Auto Publish: " FontSize="{StaticResource PhoneFontSizeMedium}" Margin="0,-15,0,0" /> 
         <ContentControl HorizontalAlignment="Left" FontSize="{StaticResource PhoneFontSizeMedium}" Content="{Binding}" IsEnabled="{Binding}" Margin="0,-15,0,0"/> 
        </StackPanel> 
       </StackPanel> 
      </DataTemplate> 
     </toolkit:ToggleSwitch.ContentTemplate> 
    </toolkit:ToggleSwitch> 
</Grid> 


public partial class MainPage : PhoneApplicationPage 
{ 
    bool isConnected = false; 
    bool isAutoPublish = false; 

    public const string SIGNED_IN_MESSAGE = "Signed In"; 
    public const string SIGNED_OUT_MESSAGE = "Signed Out"; 
    // Constructor 
    public MainPage() 
    { 
     InitializeComponent(); 
    } 

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     toggleTwitter.IsChecked = isConnected; 

     AlterTwitterControlsDisplay(); 

     base.OnNavigatedTo(e); 
    } 


    #region Twitter 

    private void AlterTwitterControlsDisplay() 
    { 
     if (toggleTwitter.IsChecked.Value) 
     { 
      toggleTwitter.Content = SIGNED_IN_MESSAGE; 
      toggleTwitterAutoPublish.IsEnabled = true; 
      toggleTwitterAutoPublish.IsChecked = isAutoPublish; 
     } 
     else 
     { 
      toggleTwitter.Content = SIGNED_OUT_MESSAGE; 
      toggleTwitterAutoPublish.IsEnabled = false; 
      toggleTwitterAutoPublish.IsChecked = false; 
     } 
    } 

    private void toggleTwitter_Checked(object sender, RoutedEventArgs e) 
    { 
     isConnected = true; 
     AlterTwitterControlsDisplay(); 
    } 

    private void toggleTwitter_Unchecked(object sender, RoutedEventArgs e) 
    { 
     isConnected = false; 
     AlterTwitterControlsDisplay(); 
    } 

    private void toggleTwitterAutoPublish_Checked(object sender, RoutedEventArgs e) 
    { 
     isAutoPublish = true; 
    } 

    private void toggleTwitterAutoPublish_Unchecked(object sender, RoutedEventArgs e) 
    { 
     isAutoPublish = false; 
    } 

    #endregion Twitter 
} 
+0

この情報がお役に立てば幸いです。私は解決策を知りたいです – Doug

+0

私は問題が何であるか明確ではありません。 2番目のトグルスイッチが有効または無効になっているときに、このコードでフォアグラウンドの色が変わります。 –

+0

Mattと同意します。 Status:Signed Outとそれ以外の場合は白です(自動公開オン/オフの両方の場合)。それは期待された行動ではありませんか? –

答えて

1

toggleTwitterAutoPublish_UncheckedisAutoPublish = false

ので、次の時間を設定するトリガされますここにisAutoPublishはです210したがって、あなたは望みの結果を得られないかもしれません。私はあなたの質問から理解しているものです

。これが問題でない場合は、明確に説明してください。私は正確に同じ問題を抱えている

関連する問題