- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如何访问内容呈现器的内容模板中的命名控件。如何从 cs 文件访问 webview 控件(x:name=detView)。
<ContentPresenter
x:Name="DetailContentPresenter"
Grid.Row="0"
BorderBrush="{ThemeResource SystemControlForegroundBaseLowBrush}"
Content="{x:Bind coll.SelectedItem,Mode=OneWay}">
<ContentPresenter.ContentTemplate>
<DataTemplate x:DataType="data:coll_Details" x:Name="ttt">
<Grid>
<WebView DefaultBackgroundColor="#F5F5F5" x:Name="detView" Source="ms-appx-web:///Assets/Web/collDetails.html"/>
</Grid>
</DataTemplate>
</ContentPresenter.ContentTemplate>
<ContentPresenter.ContentTransitions>
<TransitionCollection/>
</ContentPresenter.ContentTransitions>
</ContentPresenter>
最佳答案
如果您像 Official Documentation 的示例一样使用 ContentPresenter 作为 ControlTemplate .
您可以通过controlName.ContentTemplateRoot
获取模板。我根据上面官方文档的Example做了一个demo,在DataTemplate里面放了一个webview。
主页.xaml:
<Page.Resources>
<Style TargetType="HyperlinkButton" x:Key="myStyle" >
...
<Setter Property="Template" x:Name="presenterSetter">
<Setter.Value>
<ControlTemplate TargetType="HyperlinkButton">
<Grid x:Name="rootGrid">
...
<Border x:Name="Border"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Margin="3">
<ContentPresenter x:Name="MyContentPresenter"
Content="{TemplateBinding Content}"
ContentTransitions="{TemplateBinding ContentTransitions}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
>
<ContentPresenter.ContentTemplate>
<DataTemplate x:Name="ttt">
<Grid>
<WebView Source="ms-appx-web:///Assets/Web/default.html" Name="myWebView"/>
</Grid>
</DataTemplate>
</ContentPresenter.ContentTemplate>
</ContentPresenter>
</Border>
<!--focus visuals omitted-->
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Page.Resources>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<StackPanel VerticalAlignment="Bottom">
<HyperlinkButton Name="myHyperlink" Style="{StaticResource myStyle}">This is a link</HyperlinkButton>
<Button Click="Button_Click" Name="myBtn">Click Me</Button>
</StackPanel>
</Grid>
我可以使用下面的代码获取 WebView:
private void Button_Click(object sender, RoutedEventArgs e)
{
var myView= ((Grid)myHyperlink.ContentTemplateRoot).Children[0] as WebView;
}
关于c# - 访问位于 C# 中的 contentpresenter 中的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38196392/
我刚刚开始使用样式和控件模板,并创建了以下样式来将按钮显示为网格中的文本。我想将字体样式嵌入到下划线样式中,但还没有弄清楚。
我有一个 DataTemplate : ... 我想用它作为 ContentTemplate的 ContentPresenter : 如何使用预定
我正在尝试为我的 ItemsControl 使用单选模式。所以我将 ItemsControl 更改为 ListBox 但是出现异常 "A style intended for type 'Conten
基本上,我不了解这里的真正区别是: TabItem的Microsoft代码使用: 那么,什么时候可以使用Content属性代替(或补充使用)ContentSource? 最佳答案 此属性仅在以下情况
我遇到了 ContentPresenter 根据样式是否位于窗口中而表现异常的问题。资源或资源字典中。具体来说,我将默认 TextBlock 的前景设置为黑色,然后将默认按钮样式中的前景值设置为白色。
我在 ControlTemplate 中有一个 ContentPresenter,试图布局一个 TabItem。我希望标题内 TextBlock 的前景色在选择选项卡时更改颜色。我的模板如下:
我在 Themes\Generic.xaml 下有下面的代码 现在我需要在代码中获取 cPresenter 我该怎么做? 事实上,我尝试将 Silverlight 实现转换为 WPF 代码。我想使用类
我只是在玩一个简单的 ContentPresenter。
我的 View 中有一个 ContentControl,它数据绑定(bind)到我的 View 模型的 CurrentItem 属性。通过 CurrentItem 公开的对象每个都有自己的 DataT
我覆盖了 wpf 扩展器的模板。 header 有 ContentPresenter 我试图为里面的所有 TextBlocks 添加我的样式。 如果我将标题
好的,我在网格单元中有一个 contentpresenter:
我已经覆盖了 ComboBox为了在组合的末尾添加一个额外的按钮 - 我正在使用它来帮助浏览我的应用程序。 它是一个 M-V-VM 应用程序,具有编辑-保存/取消机制,可根据用户是否处于“编辑模式”来
是否可以定义 ContentPresenter 的“呈现行为”?以便将填充应用于其内容? 现在我有一个 ContentPresenter并定义所有 UserControl 的边距可以成为此 Conte
我正在尝试基于数据触发器切换 contentpresenter 的内容。我想在 contentpresenter.content 中显示用户控件,如果我设置了值,否则我需要显示错误消息。但是绑定(bi
我正在使用以下产品:VS 2010、.Net 4、WPF 和 .Net Memory Profiler 版本 4.6.40.0 Pro。它们都在 Win7 64 位上运行。我一直在使用 .Net Me
我有以下 xaml:
我有 2 个 ContentPresenter fixedContentPresenter 和 resizableContentPresenter 并且显然是 Generic.xaml 中的内容。当
我正在使用 ItemsControl 生成基于我的模型的控件列表。查看可视化树时,我注意到每个呈现的控件都包装在一个 ContentPresenter 中。添加的控件是第 3 方控件,旨在显示每个控件
我有一个 ListBox,它绑定(bind)到动态创建的 UserControls 的 ObesvableCollection。 .
例如: 然后,PopUpView 中的 View 将在中间有一个边框,其中包含要显示的消息和一个半透明的背景,使
我是一名优秀的程序员,十分优秀!