2016-02-18 3 views
0

Вопроса: Как создать такое же кнопку programmaticly в коде без XAMLПрограммных создать RadioButton стиля ToggleButton

XAML:

<RadioButton Style="{StaticResource {x:Type ToggleButton}}"/> 

Я пытаюсь сделать кнопку что-то вроде этого C#:

RadioButton radioButt = new RadioButton(); 
radioButt.Style = new Style(typeof(ToggleButton); 

Но когда я создаю кнопку в коде за визуальным, они не изменены

ответ

0

Попробуйте этот код:

public MainWindow() 
{ 
    InitializeComponent(); 

    for (int i = 0; i < 4; i++) 
    { 
     RadioButton rb = new RadioButton() { Content = "Radio button " + i, IsChecked = i == 0 }; 
     rb.Checked += (sender, args) => 
     { 
      Console.WriteLine("Pressed " + (sender as RadioButton).Tag); 
     }; 
     rb.Unchecked += (sender, args) => { /* Do stuff */ }; 
     rb.Tag = i; 

     MyStackPanel.Children.Add(rb); 
    } 
} 

И в XAML:

<Style BasedOn="{StaticResource {x:Type ToggleButton}}" 
      TargetType="RadioButton"/> 

Рабочий код:

Вот мой XAML КОД:

<Window x:Class="Test.Window1" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="Window1" Height="300" Width="300" WindowStartupLocation="CenterScreen"> 
    <Window.Resources> 
     <Style BasedOn="{StaticResource {x:Type ToggleButton}}" 
     TargetType="RadioButton"/> 
    </Window.Resources> 
    <Grid> 

     <StackPanel Name="MyStackPanel"> 

     </StackPanel> 

    </Grid> 
</Window> 

И cs файл:

public partial class Window1 : Window 
    { 
     public Window1() 
     { 
      InitializeComponent(); 

      for (int i = 0; i < 4; i++) 
      { 
       RadioButton rb = new RadioButton() { Content = "Radio button " + i, IsChecked = i == 0 }; 
       rb.Checked += (sender, args) => 
       { 
        Console.WriteLine("Pressed " + (sender as RadioButton).Tag); 
       }; 
       rb.Unchecked += (sender, args) => { /* Do stuff */ }; 
       rb.Tag = i; 

       MyStackPanel.Children.Add(rb); 
      } 
     } 
    } 
} 

Выходной со стилем ToggleButton Output with Togglebutton style


Выход без ToggleButton стиля Output without Togglebutton style

+0

без использования XAML невозможно создать эту кнопку? –

+0

Нет, проверьте мой обновленный ответ. – VVN

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