mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-29 07:16:33 +08:00
Add Select style
This commit is contained in:
@@ -6,13 +6,11 @@
|
||||
using System.Diagnostics;
|
||||
using AtomUI.Controls.Utils;
|
||||
using AtomUI.Data;
|
||||
using AtomUI.Reactive;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Data;
|
||||
using Avalonia.Markup.Xaml.MarkupExtensions;
|
||||
using Avalonia.Metadata;
|
||||
using BindingFlags = System.Reflection.BindingFlags;
|
||||
|
||||
namespace AtomUI.Controls;
|
||||
|
||||
@@ -60,7 +58,7 @@ public abstract class DataGridBoundColumn : DataGridColumn
|
||||
{
|
||||
binding.Converter = DataGridValueConverter.Instance;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Apply the new Binding to existing rows in the DataGrid
|
||||
if (OwningGrid != null)
|
||||
|
||||
@@ -129,13 +129,42 @@ internal class DataGridRowTheme : BaseControlTheme
|
||||
commonStyle.Add(frameStyle);
|
||||
}
|
||||
|
||||
var hoverStyle = new Style(selector => selector.Nesting().Class(StdPseudoClass.PointerOver));
|
||||
|
||||
{
|
||||
var frameStyle = new Style(selector => selector.Nesting().Template().Name(FramePart));
|
||||
frameStyle.Add(Border.BackgroundProperty, DataGridTokenKey.TableRowHoverBg);
|
||||
hoverStyle.Add(frameStyle);
|
||||
var selectedStyle = new Style(selector => selector.Nesting().PropertyEquals(DataGridRow.IsSelectedProperty, true));
|
||||
|
||||
{
|
||||
var frameStyle = new Style(selector => selector.Nesting().Template().Name(FramePart));
|
||||
frameStyle.Add(Border.BackgroundProperty, DataGridTokenKey.TableSelectedRowBg);
|
||||
selectedStyle.Add(frameStyle);
|
||||
}
|
||||
|
||||
var hoverStyle = new Style(selector => selector.Nesting().Class(StdPseudoClass.PointerOver));
|
||||
{
|
||||
var frameStyle = new Style(selector => selector.Nesting().Template().Name(FramePart));
|
||||
frameStyle.Add(Border.BackgroundProperty, DataGridTokenKey.TableSelectedRowHoverBg);
|
||||
hoverStyle.Add(frameStyle);
|
||||
}
|
||||
selectedStyle.Add(hoverStyle);
|
||||
commonStyle.Add(selectedStyle);
|
||||
}
|
||||
commonStyle.Add(hoverStyle);
|
||||
{
|
||||
var unSelectedStyle = new Style(selector => selector.Nesting().PropertyEquals(DataGridRow.IsSelectedProperty, false));
|
||||
{
|
||||
var frameStyle = new Style(selector => selector.Nesting().Template().Name(FramePart));
|
||||
frameStyle.Add(Border.BackgroundProperty, DataGridTokenKey.TableBg);
|
||||
unSelectedStyle.Add(frameStyle);
|
||||
}
|
||||
var hoverStyle = new Style(selector => selector.Nesting().Class(StdPseudoClass.PointerOver));
|
||||
{
|
||||
var frameStyle = new Style(selector => selector.Nesting().Template().Name(FramePart));
|
||||
frameStyle.Add(Border.BackgroundProperty, DataGridTokenKey.TableRowHoverBg);
|
||||
hoverStyle.Add(frameStyle);
|
||||
}
|
||||
unSelectedStyle.Add(hoverStyle);
|
||||
commonStyle.Add(unSelectedStyle);
|
||||
}
|
||||
|
||||
|
||||
// 动画设置
|
||||
var isMotionEnabledStyle = new Style(selector => selector.Nesting().PropertyEquals(DataGridRow.IsMotionEnabledProperty, true));
|
||||
|
||||
Reference in New Issue
Block a user