diff --git a/src/BootstrapBlazor.Server/Components/Components/AttributeTable.razor.css b/src/BootstrapBlazor.Server/Components/Components/AttributeTable.razor.css
index de9dd927f86..081c4fb32f9 100644
--- a/src/BootstrapBlazor.Server/Components/Components/AttributeTable.razor.css
+++ b/src/BootstrapBlazor.Server/Components/Components/AttributeTable.razor.css
@@ -8,5 +8,6 @@
}
.table-attr-mark {
- font-size: 90%;
+ font-size: 85%;
+ color: var(--bs-success);
}
diff --git a/src/BootstrapBlazor.Server/Directory.Build.targets b/src/BootstrapBlazor.Server/Directory.Build.targets
index 30bf98167d2..124d0433260 100644
--- a/src/BootstrapBlazor.Server/Directory.Build.targets
+++ b/src/BootstrapBlazor.Server/Directory.Build.targets
@@ -19,7 +19,7 @@
-
+
diff --git a/src/BootstrapBlazor.Server/Services/ComponentAttributeCacheService.cs b/src/BootstrapBlazor.Server/Services/ComponentAttributeCacheService.cs
index 7b27072fe1b..5d04f6e4105 100644
--- a/src/BootstrapBlazor.Server/Services/ComponentAttributeCacheService.cs
+++ b/src/BootstrapBlazor.Server/Services/ComponentAttributeCacheService.cs
@@ -60,7 +60,9 @@ private static List GetAttributeCore(Type type)
{
if (xmlDoc == null) return null;
- var memberName = $"P:{property.DeclaringType?.FullName}.{property.Name}";
+ var type = property.DeclaringType ?? property.PropertyType;
+ var typeName = type.FullName ?? $"BootstrapBlazor.Components.{type.Name}";
+ var memberName = $"P:{typeName}.{property.Name}";
var summaryElement = FindSummaryElement(xmlDoc, memberName);
return summaryElement == null ? null : GetLocalizedSummary(summaryElement);
}
diff --git a/src/BootstrapBlazor/Components/Display/DisplayBase.cs b/src/BootstrapBlazor/Components/Display/DisplayBase.cs
index 094ccc46745..0ab218fedb9 100644
--- a/src/BootstrapBlazor/Components/Display/DisplayBase.cs
+++ b/src/BootstrapBlazor/Components/Display/DisplayBase.cs
@@ -15,13 +15,13 @@ namespace BootstrapBlazor.Components;
public abstract class DisplayBase : BootstrapModuleComponentBase
{
///
- /// 是否显示 标签
+ /// 是否显示标签
/// Whether to Show Label
///
protected bool IsShowLabel { get; set; }
///
- /// 获得 the for the bound value.
+ /// 获得绑定值的 。
/// Gets the for the bound value.
///
protected FieldIdentifier? FieldIdentifier { get; set; }
@@ -40,7 +40,7 @@ public abstract class DisplayBase : BootstrapModuleComponentBase
protected Type? ValueType { get; set; }
///
- /// 获得/设置 the value of the input. This should be used with two-way binding.
+ /// 获得/设置 输入组件的值,支持双向绑定。
/// Gets or sets the value of the input. This should be used with two-way binding.
///
///
@@ -51,28 +51,28 @@ public abstract class DisplayBase : BootstrapModuleComponentBase
public TValue? Value { get; set; }
///
- /// 获得/设置 a 回调 that updates the bound value.
+ /// 获得/设置 用于更新绑定值的回调。
/// Gets or sets a callback that updates the bound value.
///
[Parameter]
public EventCallback ValueChanged { get; set; }
///
- /// 获得/设置 an expression that identifies the bound value.
+ /// 获得/设置 标识绑定值的表达式。
/// Gets or sets an expression that identifies the bound value.
///
[Parameter]
public Expression>? ValueExpression { get; set; }
///
- /// 获得/设置 是否显示前置标签 默认值为 null 为空时默认不显示标签
+ /// 获得/设置 是否显示前置标签,默认值为 null,为空时不显示标签
/// Gets or sets Whether to Show Label. Default is null, not show label when null
///
[Parameter]
public bool? ShowLabel { get; set; }
///
- /// 获得/设置 是否显示 Tooltip 多用于文字过长导致裁减时使用 默认 null
+ /// 获得/设置 是否显示 Tooltip,多用于文字过长导致裁剪时使用,默认 null
/// Gets or sets Whether to Show Tooltip. Default is null
///
[Parameter]
@@ -93,29 +93,28 @@ public abstract class DisplayBase : BootstrapModuleComponentBase
protected ValidateForm? ValidateForm { get; set; }
///
- /// 获得 IShowLabel 实例
- /// Get IShowLabel Instance
+ /// 获得 实例
+ /// Get Instance
///
[CascadingParameter(Name = "EditorForm")]
protected IShowLabel? EditorForm { get; set; }
///
- /// 获得 InputGroup 实例
- /// Get InputGroup Instance
+ /// 获得 实例
+ /// Get Instance
///
[CascadingParameter]
protected BootstrapInputGroup? InputGroup { get; set; }
///
- /// 获得 IFilter 实例
- /// Get IFilter Instance
+ /// 获得 实例
+ /// Get Instance
///
[CascadingParameter]
protected IFilter? Filter { get; set; }
///
- /// SetParametersAsync 方法
- /// SetParametersAsync Method
+ ///
///
///
public override Task SetParametersAsync(ParameterView parameters)
@@ -135,8 +134,7 @@ public override Task SetParametersAsync(ParameterView parameters)
}
///
- /// OnParametersSet 方法
- /// OnParametersSet Method
+ ///
///
protected override void OnParametersSet()
{
@@ -185,7 +183,6 @@ protected override void OnParametersSet()
/// Format Value to String Method
///
/// The value to format.
- /// A string representation of the value.
protected virtual string? FormatValueAsString(TValue? value)
{
string? ret;
diff --git a/src/BootstrapBlazor/Components/Validate/ValidateBase.cs b/src/BootstrapBlazor/Components/Validate/ValidateBase.cs
index 3bef1dc3bb2..d17f0f71600 100644
--- a/src/BootstrapBlazor/Components/Validate/ValidateBase.cs
+++ b/src/BootstrapBlazor/Components/Validate/ValidateBase.cs
@@ -42,8 +42,8 @@ public abstract class ValidateBase : DisplayBase, IValidateCompo
protected string? ErrorMessage { get; set; }
///
- /// 获得/设置 数据合规样式
- /// Gets or sets the validation CSS class
+ /// 获得 数据合规样式
+ /// Gets the validation CSS class
///
protected string? ValidCss => IsValid.HasValue ? GetValidString(IsValid.Value) : null;
@@ -62,7 +62,7 @@ public abstract class ValidateBase : DisplayBase, IValidateCompo
protected string? Disabled => IsDisabled ? "disabled" : null;
///
- /// 是否显示 必填项标记
+ /// 获得/设置 是否显示 必填项标记
/// Gets or sets whether to display the required field marker
///
protected string? Required { get; set; }