Mini Kabibi Habibi
<local:BarsDemoModule x:Class="BarsDemo.ItemProperties"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:local="clr-namespace:BarsDemo"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<dxdb:DemoModuleControl>
<dxdb:DemoModuleControl.OptionsContent>
<StackPanel MinWidth="170">
<StackPanel.Resources>
<Thickness x:Key="GroupMargin">0,10,0,0</Thickness>
<Thickness x:Key="ElementMargin">0,4,0,0</Thickness>
<sys:Double x:Key="GroupIndent">10.0</sys:Double>
<sys:Double x:Key="ElementIndent">4.0</sys:Double>
<Style TargetType="local:BarItemInfoControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:BarItemInfoControl">
<StackPanel Orientation="Horizontal">
<dx:PixelSnapper>
<Image Source="{Binding Path=Link.Item.Glyph, RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="Center"/>
</dx:PixelSnapper>
<TextBlock Text="{Binding Path=Link.ActualContent, RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="Center" Margin="10,0,0,0"/>
<TextBlock Text="{Binding Path=Description, RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="Center" Margin="5,0,0,0"/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<local:DockEnumProvider x:Key="dockProvider"/>
</StackPanel.Resources>
<dx:GroupFrame Header="Selected Item">
<StackPanel>
<RadioButton x:Name="newRadioButton" IsChecked="True" Click="OnRadioButtonClick" Margin="0,0,0,5">
<RadioButton.Content>
<local:BarItemInfoControl Link="{Binding ButtonItem}" Description="(BarButtonItem)"/>
</RadioButton.Content>
</RadioButton>
<RadioButton x:Name="bulletsRadioButton" Click="OnRadioButtonClick" Margin="0,0,0,5">
<RadioButton.Content>
<local:BarItemInfoControl Link="{Binding CheckItem}" Description="(BarCheckItem)"/>
</RadioButton.Content>
</RadioButton>
<RadioButton x:Name="saveMenuRadioButton" Click="OnRadioButtonClick" Margin="0,0,0,5">
<RadioButton.Content>
<local:BarItemInfoControl Link="{Binding SubItem}" Description="(BarSubItem)"/>
</RadioButton.Content>
</RadioButton>
<RadioButton x:Name="fontColorRadioButton" Click="OnRadioButtonClick" Margin="0,0,0,5">
<RadioButton.Content>
<local:BarItemInfoControl Link="{Binding SplitButtonItem}" Description="(BarSplitButtonItem)"/>
</RadioButton.Content>
</RadioButton>
<RadioButton x:Name="infoRadioButton" Click="OnRadioButtonClick">
<RadioButton.Content>
<local:BarItemInfoControl Link="{Binding StaticItem}" Description="(BarStaticItem)"/>
</RadioButton.Content>
</RadioButton>
</StackPanel>
</dx:GroupFrame>
<dx:GroupFrame Header="Common Properties" Margin="{StaticResource GroupMargin}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<dxe:CheckEdit x:Name="isVisibleCheck" Content="Is Visible" EditValue="{Binding Path=SelectedItem.Item.IsVisible, Mode=TwoWay}" Margin="{StaticResource ElementMargin}"/>
<dxe:CheckEdit x:Name="isEnabledCheck" Grid.Row="1" Content="Is Enabled" IsEnabled="{Binding Path=SelectedItem.Item.IsVisible, Mode=TwoWay}"
EditValue="{Binding Path=SelectedItem.Item.IsEnabled, Mode=TwoWay}" Margin="{StaticResource ElementMargin}"/>
<ContentControl Name="baseProps" Grid.Row="2" IsEnabled="{Binding Path=SelectedItem.Item.IsVisible, Mode=TwoWay}">
<StackPanel>
<TextBlock Text="Display Mode:" VerticalAlignment="Center" Margin="0,8,8,8"/>
<dxe:ComboBoxEdit x:Name="displayMode" IsTextEditable="False" SelectedItem="{Binding Path=SelectedItem.BarItemDisplayMode, Mode=TwoWay}" SelectedIndexChanged="displayMode_SelectedIndexChanged">
<dxb:BarItemDisplayMode>Default</dxb:BarItemDisplayMode>
<dxb:BarItemDisplayMode>Content</dxb:BarItemDisplayMode>
<dxb:BarItemDisplayMode>ContentAndGlyph</dxb:BarItemDisplayMode>
</dxe:ComboBoxEdit>
<Border Height="{StaticResource ElementIndent}"/>
<TextBlock Text="Caption And Glyph Alignment:" VerticalAlignment="Center" Margin="0,0,8,8"/>
<dxe:ComboBoxEdit x:Name="captionGlyphAlignment" ItemsSource="{Binding Path=DockItemsSource, Source={StaticResource dockProvider}}" IsTextEditable="False" SelectedItem="{Binding Path=SelectedItem.UserGlyphAlignment, Mode=TwoWay}" SelectedIndexChanged="captionGlyphAlignment_SelectedIndexChanged"/>
<Border Height="{StaticResource ElementIndent}"/>
<TextBlock Text="Glyph Size:" VerticalAlignment="Center" Margin="0,0,8,8"/>
<dxe:ComboBoxEdit x:Name="glyphSize" IsTextEditable="False" SelectedItem="{Binding Path=SelectedItem.UserGlyphSize, Mode=TwoWay}">
<dxb:GlyphSize>Default</dxb:GlyphSize>
<dxb:GlyphSize>Small</dxb:GlyphSize>
<dxb:GlyphSize>Large</dxb:GlyphSize>
</dxe:ComboBoxEdit>
<Border Height="{StaticResource ElementIndent}"/>
<TextBlock Text="Alignment:" VerticalAlignment="Center" Margin="0,0,8,8"/>
<dxe:ComboBoxEdit x:Name="alignment" IsTextEditable="False" SelectedItem="{Binding Path=SelectedItem.Alignment, Mode=TwoWay}">
<dxb:BarItemAlignment>Default</dxb:BarItemAlignment>
<dxb:BarItemAlignment>Near</dxb:BarItemAlignment>
<dxb:BarItemAlignment>Far</dxb:BarItemAlignment>
</dxe:ComboBoxEdit>
</StackPanel>
</ContentControl>
</Grid>
</dx:GroupFrame>
<dx:GroupFrame x:Name="staticProperties" Header="StaticItem Properties" Margin="{StaticResource GroupMargin}">
<StackPanel>
<dxe:CheckEdit Name="showBorder" Content="Show Border" IsChecked="{Binding Path=StaticItem.Item.ShowBorder, Mode=TwoWay}" Margin="{StaticResource ElementMargin}"/>
<StackPanel Margin="{StaticResource GroupMargin}">
<TextBlock Text="Auto Size Mode:" VerticalAlignment="Center"/>
<dxe:ComboBoxEdit x:Name="autoSizeMode" IsTextEditable="False" SelectedItem="{Binding Path=StaticItem.Item.AutoSizeMode, Mode=TwoWay}" SelectedIndexChanged="autoSizeMode_SelectedIndexChanged">
<dxb:BarItemAutoSizeMode>None</dxb:BarItemAutoSizeMode>
<dxb:BarItemAutoSizeMode>Content</dxb:BarItemAutoSizeMode>
<dxb:BarItemAutoSizeMode>Fill</dxb:BarItemAutoSizeMode>
</dxe:ComboBoxEdit>
<Border Height="{StaticResource ElementIndent}"/>
<TextBlock Text="Content Alignment:" VerticalAlignment="Center" Margin="0,0,8,8"/>
<dxe:ComboBoxEdit IsTextEditable="False" SelectedItem="{Binding Path=StaticItem.Item.ContentAlignment, Mode=TwoWay}">
<HorizontalAlignment>Left</HorizontalAlignment>
<HorizontalAlignment>Center</HorizontalAlignment>
<HorizontalAlignment>Right</HorizontalAlignment>
<HorizontalAlignment>Stretch</HorizontalAlignment>
</dxe:ComboBoxEdit>
</StackPanel>
<TextBlock Text="Width:" Margin="{StaticResource GroupMargin}"/><dxe:TrackBarEdit x:Name="widthTrackBar" Minimum="0" Maximum="1000" TickFrequency="100" LargeStep="100" Value="{Binding Path=StaticItem.Item.ItemWidth, Mode=TwoWay}" Margin="{StaticResource ElementMargin}"/>
<TextBlock Text="Min Width:" Margin="{StaticResource GroupMargin}"/><dxe:TrackBarEdit x:Name="minWidthTrackBar" Minimum="0" Maximum="400" TickFrequency="40" LargeStep="40" Value="{Binding Path=StaticItem.Item.ItemMinWidth, Mode=TwoWay}" Margin="{StaticResource ElementMargin}"/>
</StackPanel>
</dx:GroupFrame>
<dx:GroupFrame IsEnabled="{Binding Path=SelectedItem.Item.IsVisible, Mode=TwoWay}" x:Name="splitProps" Header="SplitButtonItem Properties" Margin="{StaticResource GroupMargin}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<dxe:CheckEdit Name="actAsDropDownCheck" Content="Act As DropDown" IsChecked="{Binding Path=SplitButtonItem.Item.ActAsDropDown, Mode=TwoWay}" Margin="{StaticResource ElementMargin}" EditValueChanged="actAsDropDownCheck_EditValueChanged"/>
<StackPanel Grid.Row="1" Margin="{StaticResource GroupMargin}">
<TextBlock Text="ArrowAlignment:" VerticalAlignment="Center" Margin="0,0,8,8"/>
<dxe:ComboBoxEdit x:Name="arrowAlignment" ItemsSource="{Binding Path=DockRightBottomItemsSource, Source={StaticResource dockProvider}}" IsTextEditable="False" SelectedItem="{Binding Path=SplitButtonItem.Item.ArrowAlignment, Mode=TwoWay}"/>
</StackPanel>
</Grid>
</dx:GroupFrame>
<dx:GroupFrame x:Name="subProps" Header="SubItem Properties" Margin="{StaticResource GroupMargin}" IsEnabled="{Binding Path=SelectedItem.Item.IsVisible, Mode=TwoWay}">
<StackPanel>
<TextBlock Text="Sub Items Glyph Size:" VerticalAlignment="Center" Margin="0,0,8,8"/>
<dxe:ComboBoxEdit Grid.Column="1" x:Name="subItemsGlyphSize" IsTextEditable="False" SelectedItem="{Binding Path=SubItem.Item.SubItemsGlyphSize, Mode=TwoWay}">
<dxb:GlyphSize>Default</dxb:GlyphSize>
<dxb:GlyphSize>Small</dxb:GlyphSize>
<dxb:GlyphSize>Large</dxb:GlyphSize>
</dxe:ComboBoxEdit>
</StackPanel>
</dx:GroupFrame>
</StackPanel>
</dxdb:DemoModuleControl.OptionsContent>
<dxb:BarManager Name="barManager" AllowCustomization="False" CreateStandardLayout="False">
<dxb:BarManager.Items>
<dxb:BarButtonItem Name="bNew" Content="New" Glyph="/BarsDemo;component/Images/Icons/new-16x16.png" LargeGlyph="/BarsDemo;component/Images/Icons/new-32x32.png"/>
<dxb:BarCheckItem Name="bBullets" Content="Bullets" Glyph="/BarsDemo;component/Images/Icons/bullets-16x16.png" LargeGlyph="/BarsDemo;component/Images/Icons/bullets-32x32.png"/>
<dxb:BarStaticItem Name="sInfo" Content="Info" Glyph="/BarsDemo;component/Images/Icons/info-16x16.png" LargeGlyph="/BarsDemo;component/Images/Icons/info-32x32.png" AutoSizeMode="Fill"/>
<dxb:BarStaticItem Name="sEmpty" Content="Static Text" ItemWidth="350" ItemMinWidth="100"/>
<dxb:BarButtonItem Name="bSave" Content="Save" Glyph="/BarsDemo;component/Images/Icons/save-16x16.png" LargeGlyph="/BarsDemo;component/Images/Icons/save-32x32.png"/>
<dxb:BarButtonItem Name="bSaveAs" Content="SaveAs..." Glyph="/BarsDemo;component/Images/Icons/save-as-16x16.png" LargeGlyph="/BarsDemo;component/Images/Icons/save-as-32x32.png"/>
<dxb:BarSplitButtonItem Name="bFontColor" Content="Font Color" Glyph="/BarsDemo;component/Images/Icons/font-color-16x16.png" LargeGlyph="/BarsDemo;component/Images/Icons/font-color-32x32.png">
<dxb:BarSplitButtonItem.PopupControl>
<dxb:PopupControlContainerInfo>
<dxe:ColorChooser />
</dxb:PopupControlContainerInfo>
</dxb:BarSplitButtonItem.PopupControl>
</dxb:BarSplitButtonItem>
<dxb:BarSubItem Name="smSave" Content="Save Menu" Glyph="/BarsDemo;component/Images/Icons/save-16x16.png" LargeGlyph="/BarsDemo;component/Images/Icons/save-32x32.png">
<dxb:BarSubItem.ItemLinks>
<dxb:BarButtonItemLink BarItemName="bSave"/>
<dxb:BarButtonItemLink BarItemName="bSaveAs"/>
<dxb:BarSplitButtonItemLink BarItemName="bFontColor"/>
<dxb:BarStaticItemLink BarItemName="sInfo"/>
</dxb:BarSubItem.ItemLinks>
</dxb:BarSubItem>
</dxb:BarManager.Items>
<dxb:BarManager.Bars>
<dxb:Bar Caption="ButtonsBar" GlyphSize="Small" UseWholeRow="True" AllowQuickCustomization="False">
<dxb:Bar.DockInfo>
<dxb:BarDockInfo ContainerName="TopContainer"/>
</dxb:Bar.DockInfo>
<dxb:Bar.ItemLinks>
<dxb:BarButtonItemLink BarItemName="bNew" UserGlyphAlignment="Left" UserGlyphSize="Large" BarItemDisplayMode="ContentAndGlyph"/>
<dxb:BarCheckItemLink BarItemName="bBullets" UserGlyphAlignment="Left"/>
<dxb:BarSplitButtonItemLink BarItemName="bFontColor" UserGlyphAlignment="Left"/>
<dxb:BarSubItemLink BarItemName="smSave"/>
</dxb:Bar.ItemLinks>
</dxb:Bar>
<dxb:Bar Caption="InfoBar" GlyphSize="Small" IsStatusBar="True">
<dxb:Bar.DockInfo>
<dxb:BarDockInfo ContainerName="BottomContainer"/>
</dxb:Bar.DockInfo>
<dxb:Bar.ItemLinks>
<dxb:BarStaticItemLink BarItemName="sInfo"/>
<dxb:BarStaticItemLink BarItemName="sEmpty"/>
</dxb:Bar.ItemLinks>
</dxb:Bar>
</dxb:BarManager.Bars>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<dxb:BarContainerControl Name="TopContainer" Grid.Row="0"/>
<dxb:BarContainerControl Name="BottomContainer" Grid.Row="2"/>
</Grid>
</dxb:BarManager>
</dxdb:DemoModuleControl>
</local:BarsDemoModule>