feat: fix container default value issue.

This commit is contained in:
rabbitism
2024-01-08 21:06:43 +08:00
parent b90b721e4b
commit 755e729518
3 changed files with 14 additions and 4 deletions

View File

@@ -80,6 +80,7 @@
Content="Step 5"
Header="第五步"
Mode="Separate"
TimeFormat="yyyy-MM-dd"
Type="Error" />
</u:Timeline>
</WrapPanel>

View File

@@ -150,10 +150,11 @@ public class Timeline: ItemsControl
{
t.Bind(TimelineItem.TimeProperty, TimeMemberBinding);
}
t.SetCurrentValue(TimelineItem.TimeFormatProperty, TimeFormat);
t.SetCurrentValue(TimelineItem.IconTemplateProperty, IconTemplate);
t.SetCurrentValue(HeaderedContentControl.HeaderTemplateProperty, ItemTemplate);
t.SetCurrentValue(ContentControl.ContentTemplateProperty, DescriptionTemplate);
t.SetIfUnset(TimelineItem.TimeFormatProperty, TimeFormat);
t.SetIfUnset(TimelineItem.IconTemplateProperty, IconTemplate);
t.SetIfUnset(HeaderedContentControl.HeaderTemplateProperty, ItemTemplate);
t.SetIfUnset(ContentControl.ContentTemplateProperty, DescriptionTemplate);
}
}

View File

@@ -190,4 +190,12 @@ public class TimelineItem: HeaderedContentControl
_rootGrid.ColumnDefinitions[1].Width = new GridLength(mid??0);
_rootGrid.ColumnDefinitions[2].Width = new GridLength(right??0);
}
internal void SetIfUnset<T>(AvaloniaProperty<T> property, T value)
{
if (!IsSet(property))
{
SetCurrentValue(property, value);
}
}
}