【发布时间】:2016-11-07 16:33:07
【问题描述】:
我正在尝试将我的一种 xaml 样式设置为我页面中的框架。 它是在代码中创建的,并动态分配给布局。
所以我希望我必须动态设置样式?因为框架在 xaml 中不存在。
我想不通的是如何分配自定义模板。或者更好的是,以全局方式适用于任何适合特定类别的框架。标记或键入等。
下面是我试图测试的模板。但它不起作用。假设缺少代码,因此开始检查代码隐藏样式设置,但到目前为止没有运气。
App.xaml
<!-- http://paulstovell.com/blog/wpf-navigation -->
<ControlTemplate TargetType="Frame" x:Key="frame" >
<DockPanel Margin="7">
<StackPanel
Margin="7"
Orientation="Horizontal"
DockPanel.Dock="Top"
>
<Button
Content="Avast! Go back!"
Command="{x:Static NavigationCommands.BrowseBack}"
IsEnabled="{TemplateBinding CanGoBack}"
/>
<Button
Content="Forward you dogs!"
Command="{x:Static NavigationCommands.BrowseForward}"
IsEnabled="{TemplateBinding CanGoForward}"
/>
</StackPanel>
<Border
BorderBrush="Green"
Margin="7"
BorderThickness="7"
Padding="7"
CornerRadius="7"
Background="White"
>
<ContentPresenter />
</Border>
</DockPanel>
</ControlTemplate>
MyWindow.xaml.cs
Frame newFrame = new Frame();
newFrame.Content = content;
newFrame.Template = ControlTemplate ...?
【问题讨论】:
-
查看其他主题,非常相似:stackoverflow.com/questions/10686917/…
-
为什么要动态创建东西?你正在努力让自己的事情变得更难。
-
@EdPlunkett 为了提供背景信息,我正在使用 Devexpress 控件。码头面板。这需要我为每个页面添加一个面板。每个面板都需要它的内容,但我希望有导航。所以我在面板中添加了一个框架,并将内容添加到框架中。页面本身,有自己的 xaml 和 cs。不幸的是,devexpress 没有设置导航窗口的样式,所以我需要以某种方式覆盖它
-
午餐我带了一个火腿三明治,但我把西红柿和泡菜片放在一个带拉链的袋子里,这样面包就不会湿透了。这是一个阳光明媚的日子。有点冷。但与一年中的这个时候差不多。