private Style GetCheckBoxStyle(IThemeColors colors) { var template = TemplateExtensions.Create <Border>() .TemplateBinding(Control.BackgroundProperty, Control.BackgroundProperty) .TemplateBinding(Control.BorderBrushProperty, Control.BorderThicknessProperty) .TemplateBinding(Control.BorderThicknessProperty, Control.BorderThicknessProperty) .Contains <StackPanel>() .Set(StackPanel.OrientationProperty, Orientation.Horizontal) .Contains(TemplateExtensions.Create <Ellipse>() .Size(8, 8) .TemplateBinding(Shape.FillProperty, Control.ForegroundProperty)) .Contains(TemplateExtensions.Create <ContentPresenter>() .Center()) .AsControlTemplate <CheckBox>(); return(StyleExtensions.Create() .Set(Control.ForegroundProperty, colors.Text.Normal) .When(TriggerExtensions.Property(ToggleButton.IsCheckedProperty) .Is(true) .Then(Control.FontWeightProperty, FontWeights.Bold) .Then(Control.ForegroundProperty, colors.Control.Selected)) .When(TriggerExtensions.Property(UIElement.IsMouseOverProperty) .Is(true) .Then(Control.BackgroundProperty, colors.Control.Over)) .When(TriggerExtensions.Property(FrameworkElement.TagProperty) .Is("test") .Then(ContentControl.ContentProperty, null)) .Template(template) .AsStyle <CheckBox>()); }
public static IList <SqlOperation> AddDeleteTriggerSqlMigration(this IList <SqlOperation> list, IAnnotation annotation, IModel model) { list.Add(new SqlOperation { Sql = TriggerExtensions.GetSqlProvider(model).GetDropTriggerSql(annotation.Name), }); return(list); }
private Style GetToggleButtonStyle(IThemeColors colors) { var template = TemplateExtensions.Create <Border>() .TemplateBinding(Border.BackgroundProperty, ToggleButton.BackgroundProperty) .Contains(TemplateExtensions.Create <ContentPresenter>()) .AsControlTemplate <ToggleButton>(); return(StyleExtensions.Create() .Set(Control.ForegroundProperty, colors.Text.Normal) .Set(Control.BackgroundProperty, new SolidColorBrush(Colors.Transparent)) .When(TriggerExtensions.Property(UIElement.IsMouseOverProperty) .Is(true) .Then(Control.BackgroundProperty, colors.Control.Over)) .Template(template) .AsStyle <ToggleButton>()); }
private Style GetMenuItemStyle(IThemeColors colors) { var template = TemplateExtensions.Create <Border>() .TemplateBinding(Control.BackgroundProperty, MenuItem.BackgroundProperty) .Contains(TemplateExtensions.Create <ContentPresenter>() .Set(Control.MarginProperty, new Thickness(8)) .Set(ContentPresenter.ContentSourceProperty, "Header")) .AsControlTemplate <MenuItem>(); return(StyleExtensions.Create() .Set(Control.ForegroundProperty, colors.Text.Normal) .Set(Control.BackgroundProperty, colors.Control.Normal) .When(TriggerExtensions .Property(Control.IsMouseOverProperty) .Is(true) .Then(Control.BackgroundProperty, colors.Control.Over)) .Template(template) .AsStyle <MenuItem>()); }
private Style GetDropDownButtonStyle(IThemeColors colors) { var template = TemplateExtensions.Create <Border>() .TemplateBinding(Control.BackgroundProperty, Control.BackgroundProperty) .TemplateBinding(Border.PaddingProperty, Button.PaddingProperty) .Contains(TemplateExtensions.Create <ContentPresenter>() .Set(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Center) .Set(FrameworkElement.VerticalAlignmentProperty, VerticalAlignment.Center) .TemplateBinding(ContentPresenter.ContentProperty, ContentControl.ContentProperty)) .AsControlTemplate <DropDownButton>(); return(StyleExtensions.Create() .Set(Control.BackgroundProperty, new SolidColorBrush(Colors.Transparent)) .Set(Control.PaddingProperty, new Thickness(8, 4, 8, 4)) .When(TriggerExtensions.Property(UIElement.IsMouseOverProperty) .Is(true) .Then(Control.BackgroundProperty, colors.Control.Accent1)) .Template(template) .AsStyle <DropDownButton>()); }
private Style GetListBoxItemStyle(IThemeColors colors) { var template = TemplateExtensions.Create <Border>() .Set(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Stretch) .Contains(TemplateExtensions.Create <ContentPresenter>()) .TemplateBinding(Border.BackgroundProperty, ListBoxItem.BackgroundProperty) .AsControlTemplate <ListBoxItem>(); return(StyleExtensions.Create() .Template(template) .Set(Control.PaddingProperty, new Thickness(0, 4, 0, 0)) .Set(Control.BackgroundProperty, colors.Control.Normal) .Set(Control.BorderBrushProperty, colors.Control.Accent1) .Set(Control.BorderThicknessProperty, new Thickness(0, 1, 0, 0)) .When(TriggerExtensions .Property(ListBoxItem.IsMouseOverProperty) .Is(true) .Then(ListBoxItem.BackgroundProperty, colors.Control.Over)) .When(TriggerExtensions .Property(ListBoxItem.IsSelectedProperty) .Is(true) .Then(ListBoxItem.BackgroundProperty, colors.Control.Selected)) .AsStyle <ListBoxItem>()); }
public SearchView() { var bmp = new BitmapImage(new Uri(@"pack://application:,,,/Resources/no-artist.png", UriKind.Absolute)); var dataTemplate = TemplateExtensions.Create <DockPanel>() .Contains(TemplateExtensions.Create <Image>() .Set(DockPanel.DockProperty, Dock.Left) .Set(Control.HeightProperty, 25d) .Set(Control.WidthProperty, 25d) .Bind(Image.SourceProperty, nameof(IArtist.PictureUri), null, bmp)) .Contains(TemplateExtensions.Create <TextBlock>() .Set(Control.MarginProperty, new Thickness(8, 0, 0, 0)) .Set(Control.VerticalAlignmentProperty, VerticalAlignment.Center) .Set(Control.MaxWidthProperty, 250d) .Set(Control.HorizontalAlignmentProperty, HorizontalAlignment.Left) .Set(TextBlock.TextWrappingProperty, TextWrapping.WrapWithOverflow) .Bind(TextBlock.TextProperty, nameof(IArtist.Name))) .AsDataTemplate <IArtist>(); var navigationButtonStyle = StyleExtensions.Create() .BasedOn <Button>() .Set(Control.HorizontalAlignmentProperty, HorizontalAlignment.Left) .Set(FrameworkElement.MarginProperty, new Thickness(4)) .Set(Control.FontSizeProperty, 18d) .Set(Control.FontFamilyProperty, new FontFamily("Segoe UI symbol")) .When(TriggerExtensions .Property(FrameworkElement.IsEnabledProperty) .Is(false) .Then(FrameworkElement.VisibilityProperty, Visibility.Hidden)) .AsStyle <Button>(); this.fluentItem = this.AsFluent <TabItem>() .Bind(BindingExtensions .OneTime(FrameworkElement.DataContextProperty) .With(nameof(RootViewModel.Search))) .Set(FrameworkElement.VisibilityProperty, Visibility.Collapsed) .Contains(new Grid() .AsFluent() .Margin(0, 25, 0, 0) .Cell(GridCellExtensions.Create() .Contains(new Button() .AsFluent() .UseStyle(navigationButtonStyle) .Contains("") .SubDataContext(nameof(SearchViewModel.NavigationViewModel)) .Bind(BindingExtensions .OneTime(ButtonBase.CommandProperty) .With(nameof(SearchNavigationViewModel.GoBackCommand))))) .Cell(GridCellExtensions.Create() .Column(1).AutoWidth() .Contains(new TextBlock() .AsFluent() .Set(FrameworkElement.MarginProperty, new Thickness(4)) .Set(FrameworkElement.VerticalAlignmentProperty, VerticalAlignment.Center) .Set(TextBlock.TextProperty, "Search"))) .Cell(GridCellExtensions.Create() .Column(2).Width("*") .Contains(new TextBox() .AsFluent() .Bind(BindingExtensions .TwoWay(TextBox.TextProperty) .With(nameof(SearchViewModel.Search))) .Set(FrameworkElement.MarginProperty, new Thickness(4)) .Set(TextBox.VerticalContentAlignmentProperty, VerticalAlignment.Center) .On(TextBoxBase.KeyUpEvent, OnTextChanged))) .Cell(GridCellExtensions.Create() .Column(3).AutoWidth() .Contains(new DropDownButton() .AsFluent() .Contains("⋮") .Set(Control.FontFamilyProperty, new FontFamily("Segoe UI symbol")) .Set(Control.FontSizeProperty, 18d) .Set(Control.ContextMenuProperty, SearchContextMenuBuilder.Create()))) .Cell(GridCellExtensions.Create() .Row(1).Span(1, 4).Height("*") .Contains(new ListBox() .AsFluent() .Set(ListBox.MarginProperty, new Thickness(4)) .Set(ListBox.ItemTemplateProperty, dataTemplate) .Bind(BindingExtensions .OneWay(ListBox.ItemsSourceProperty) .With(nameof(SearchViewModel.Artists))) )) ); }