csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
4.8 KiB
89 lines
4.8 KiB
<Window xmlns="https://github.com/avaloniaui"
|
|
xmlns:vm="clr-namespace:BindingTest.ViewModels;assembly=BindingTest"
|
|
xmlns:local="clr-namespace:BindingTest;assembly=BindingTest">
|
|
<Window.Styles>
|
|
<Style Selector="TextBlock.h1">
|
|
<Setter Property="FontSize" Value="18"/>
|
|
</Style>
|
|
</Window.Styles>
|
|
|
|
<TabControl>
|
|
<TabItem Header="Basic">
|
|
<StackPanel Orientation="Vertical">
|
|
<StackPanel Orientation="Horizontal">
|
|
<StackPanel Margin="18" Gap="4" Width="200">
|
|
<TextBlock FontSize="16" Text="Simple Bindings"/>
|
|
<TextBox Watermark="Two Way" UseFloatingWatermark="True" Text="{Binding Path=StringValue}" Name="first"/>
|
|
<TextBox Watermark="One Way" UseFloatingWatermark="True" Text="{Binding Path=StringValue, Mode=OneWay}"/>
|
|
<TextBox Watermark="One Time" UseFloatingWatermark="True" Text="{Binding Path=StringValue, Mode=OneTime}"/>
|
|
</StackPanel>
|
|
<StackPanel Margin="18" Gap="4" Width="200">
|
|
<TextBlock FontSize="16" Text="Collection Bindings"/>
|
|
<TextBox Watermark="Items[1].StringValue" UseFloatingWatermark="True" Text="{Binding Path=Items[1].StringValue}"/>
|
|
<Button Command="{Binding ShuffleItems}">Shuffle</Button>
|
|
</StackPanel>
|
|
<StackPanel Margin="18" Gap="4" Width="200">
|
|
<TextBlock FontSize="16" Text="Negated Bindings"/>
|
|
<TextBox Watermark="Boolean String" UseFloatingWatermark="True" Text="{Binding Path=BooleanString}"/>
|
|
<CheckBox IsChecked="{Binding !BooleanString}">!BooleanString</CheckBox>
|
|
<CheckBox IsChecked="{Binding !!BooleanString}">!!BooleanString</CheckBox>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<StackPanel Margin="18" Gap="4" Width="200" HorizontalAlignment="Left">
|
|
<TextBlock FontSize="16" Text="Numeric Bindings"/>
|
|
<TextBox Watermark="Double" UseFloatingWatermark="True" Text="{Binding Path=DoubleValue, Mode=TwoWay}"/>
|
|
<TextBlock Text="{Binding Path=DoubleValue}"/>
|
|
<ProgressBar Maximum="10" Value="{Binding DoubleValue}"/>
|
|
</StackPanel>
|
|
<StackPanel Margin="18" Gap="4" Width="200" HorizontalAlignment="Left">
|
|
<TextBlock FontSize="16" Text="Binding Sources"/>
|
|
<TextBox Watermark="Value of first TextBox" UseFloatingWatermark="True"
|
|
Text="{Binding #first.Text, Mode=TwoWay}"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</TabItem>
|
|
<TabItem Header="ListBox">
|
|
<StackPanel Orientation="Horizontal">
|
|
<StackPanel.DataTemplates>
|
|
<DataTemplate DataType="vm:TestItem">
|
|
<TextBlock Text="{Binding StringValue}"/>
|
|
</DataTemplate>
|
|
</StackPanel.DataTemplates>
|
|
<StackPanel Margin="18" Gap="4" Width="200">
|
|
<TextBlock FontSize="16" Text="Multiple"/>
|
|
<ListBox Items="{Binding Items}" SelectionMode="Multiple" SelectedItems="{Binding SelectedItems}"/>
|
|
</StackPanel>
|
|
<StackPanel Margin="18" Gap="4" Width="200">
|
|
<TextBlock FontSize="16" Text="Multiple"/>
|
|
<ListBox Items="{Binding Items}" SelectionMode="Multiple" SelectedItems="{Binding SelectedItems}"/>
|
|
</StackPanel>
|
|
<ContentControl Content="{Binding SelectedItems[0]}">
|
|
<ContentControl.DataTemplates>
|
|
<DataTemplate DataType="vm:TestItem">
|
|
<local:TestItemView></local:TestItemView>
|
|
</DataTemplate>
|
|
</ContentControl.DataTemplates>
|
|
</ContentControl>
|
|
</StackPanel>
|
|
</TabItem>
|
|
<TabItem Header="Property Validation">
|
|
<StackPanel Orientation="Horizontal">
|
|
<StackPanel Margin="18" Gap="4" Width="200" DataContext="{Binding ExceptionPropertyValidation}">
|
|
<TextBlock FontSize="16" Text="Exception Validation"/>
|
|
<TextBox Watermark="Less Than 10" UseFloatingWatermark="True" Text="{Binding Path=LessThan10, EnableValidation=True}"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</TabItem>
|
|
<TabItem Header="Commands">
|
|
<StackPanel Margin="18" Gap="4" Width="200">
|
|
<Button Content="Button" Command="{Binding StringValueCommand}" CommandParameter="Button"/>
|
|
<ToggleButton Content="ToggleButton" IsChecked="{Binding BooleanFlag, Mode=OneWay}" Command="{Binding StringValueCommand}" CommandParameter="ToggleButton"/>
|
|
<CheckBox Content="CheckBox" IsChecked="{Binding !BooleanFlag, Mode=OneWay}" Command="{Binding StringValueCommand}" CommandParameter="CheckBox"/>
|
|
<RadioButton Content="RadionButton" IsChecked="{Binding !!BooleanFlag, Mode=OneWay}" Command="{Binding StringValueCommand}" CommandParameter="RadioButton"/>
|
|
<TextBox Text="{Binding Path=StringValue}"/>
|
|
</StackPanel>
|
|
</TabItem>
|
|
</TabControl>
|
|
</Window>
|