Я был озадачен попыткой преобразовать следующий код в чистый c #. Этот код XAML взят из блога Cavanaghs о том, как сделать закругленные углы на чем угодно. Код работает, но мне нужно преобразовать его в c #, так как в некоторых случаях он должен быть динамическим. Если бы вы могли помочь, это было бы здорово.
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType='{x:Type ListViewItem}'>
<Grid>
<Border CornerRadius="15" Name="mask" Background="White"/>
<StackPanel Background="Beige">
<StackPanel.OpacityMask>
<VisualBrush Visual="{Binding ElementName=mask}"/>
</StackPanel.OpacityMask>
<GridViewRowPresenter Content="{TemplateBinding Content}" Columns="{TemplateBinding GridView.ColumnCollection}"/>
<TextBlock Background="LightBlue" Text="{Binding News}" />
</StackPanel>
</Grid>
</ControlTemplate>
</Setter.Value>
Пока у меня есть следующее, но я получаю ошибки.
FrameworkElementFactory border = new FrameworkElementFactory(typeof(Border));
border.SetValue(Border.BackgroundProperty, Brushes.White);
border.SetValue(Border.CornerRadiusProperty, new CornerRadius(8, 8, 8, 8));
border.SetValue(Border.NameProperty, "roundedMask");
Насколько я могу сказать, я не могу сделать VisualBrush как FrameworkElementFactory (происходит сбой), но если я объявляю его как обычный элемент VisualBrush, я не могу передать границу как Visual, поскольку это FrameworkElementFactory.
Просто я заблудился, любая помощь будет оценена.
Спасибо за любую помощь