GlassButton is a lightweight button control featuring many capabilities and behaviors expected in a button control plus a predefined glass style that can be easily customized through available brushes.
Using GlassButton
GlassButton is inherited from ISButton class which includes fundamental features such as Commanding, Navigation, Toggle, ClickMode and more. To learn more about commanding, see Commanding Overview. To learn more about navigation, see Navigation Overview.
XAML | ![]() |
---|---|
<Intersoft:GlassButton Content="Try Now" VerticalAlignment="Top" HorizontalAlignment="Left" Padding="8,4" Click="GlassButton_Click"></Intersoft:GlassButton> |
C# | ![]() |
---|---|
private void GlassButton_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Glass Button Clicked"); } |
Toggle Button
To configure GlassButton as toggle button you need to set the IsToggleButton property to True and specify the GroupName that group the buttons together.
The following example shows how to configure GlassButton as toggle button.
XAML | ![]() |
---|---|
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal"> <Intersoft:GlassButton Content="ON" Width="50" GroupName="ToggleGroup" IsToggleButton="True" IsChecked="True"/> <Intersoft:GlassButton Content="OFF" Width="50" GroupName="ToggleGroup" IsToggleButton="True"/> </StackPanel> |
Navigation
You can also use GlassButton to perform navigation to the specified NavigateUri and TargetFrame. This behavior is inherited from ISButton that implements INavigationSource interface.
The following example shows how to perform navigation using GlassButton.
XAML | ![]() |
---|---|
<Intersoft:GlassButton Content="Try Now" NavigateUri="http://www.clientui.com/try" TargetName="_blank" ToolTipService.ToolTip="Visit Download Page"/> |
To learn more about navigation, see Navigation Overview.
Commanding
Similar to other button controls in ClientUI, GlassButton supports commands that you can bind using MVVM pattern.
The following example shows how to bind a command to GlassButton.
C# | ![]() |
---|---|
using System.ComponentModel; using System.Windows; using Intersoft.Client.Framework.Input; namespace ClientUI.Samples.ViewModels { public class MainPageViewModel : INotifyPropertyChanged { public DelegateCommand SubmitCommand { get; set; } public MainPageViewModel() { this.SubmitCommand = new DelegateCommand(ExecuteSubmit, CanExecuteSubmit); } private bool CanExecuteSubmit(object parameter) { return true; // you can use validation here to determine when the command is available. } private void ExecuteSubmit(object parameter) { MessageBox.Show("Submit"); } protected void OnPropertyChanged(string propertyName) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs(propertyName)); } } public event PropertyChangedEventHandler PropertyChanged; } } |
XAML | ![]() |
---|---|
<Grid x:Name="LayoutRoot" Background="White"> <Grid.DataContext> <vm:MainPageViewModel/> </Grid.DataContext> <Intersoft:GlassButton Content="Submit" HorizontalAlignment="Center" VerticalAlignment="Center" Command="{Binding SubmitCommand}"> </Intersoft:GlassButton> </Grid> |
To learn more about commanding, see Commanding Overview.
Customizing GlassButton Appearance
You can customize the GlassButton appearance easily from the following properties.
- Background
- BorderBrush
- BorderThickness
- CornerRadius
If you need to do more complex customization or if you want to change the styles of each visual states available in GlassButton, you can edit the template and do the modification accordingly.
To learn more how to change the template and the visual states, see Styles and Template Overview.