WPF,这个控件的尺寸有点怪

问题描述

一个UserControl1:<UserControlx:Class="WPF3.UserControl1"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"mc:Ignorable="d"d:DesignHeight="300"d:DesignWidth="300"><GridBackground="#FFC11D1D"/></UserControl>

publicpartialclassUserControl1:UserControl{publicUserControl1(){InitializeComponent();this.Height=100;this.Width=100;}}

一个CustomControl1,控件模板中使用了UserControl1,并将其Width设为2000:<ResourceDictionaryxmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:WPF3"><StyleTargetType="{x:Typelocal:CustomControl1}"><SetterProperty="Template"><Setter.Value><ControlTemplateTargetType="{x:Typelocal:CustomControl1}"><Border><local:UserControl1Width="200"/></Border></ControlTemplate></Setter.Value></Setter></Style></ResourceDictionary>

主窗体:<Windowx:Class="WPF3.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:WPF3"Title="MainWindow"Height="350"Width="525"><Grid><StackPanel><local:CustomControl1/><local:UserControl1Width="200"/></StackPanel></Grid></Window>

在上面的代码中,在两个地方的XAML中设置了UserControl1的Width属性,一个是在CustomControl1控件的控件模板中,一个是在主窗体中,但是最终的结果是,在CustomControl1控件模板中,设置的UserControl1的Width属性没有效果,同样是在XAML中,主窗体中设置的UserControl1的Width属性却是有效果的。请问,这是什么原因呢?

解决方案

解决方案二:
有人知道吗?
解决方案三:
有人知道吗?
解决方案四:
考虑下是不是CustomControl1的大小限制了,导致你无法看到效果,其实usercontrol宽度是有改变的不妨加个按钮看下CustomControl1的宽和usercontrol的宽,调试下就清楚了
解决方案五:
主窗体里最后设置的width把CustomControl1里面的width个覆盖掉了。所以最后应用的是主窗体里面设置的width。对没错,我猜是这样。
解决方案六:
CustomControl1的宽度肯定是Double.NaN的吧。我先知道为什么CustomControl1控件模板中的usercontrol的Width值不是200呢?在XAML中设置了为200的啊
解决方案七:
CustomControl1的宽度肯定是Double.NaN的吧。我想知道为什么CustomControl1控件模板中的usercontrol的Width值不是200呢?在XAML中设置了为200的啊
解决方案八:
有人知道吗..........
解决方案九:

解决方案十:
完全看不懂。
解决方案十一:
引用9楼hiv002的回复:

完全看不懂。

是我说得不够清楚吗?
解决方案十二:
我也遇到这个问题
解决方案十三:
引用11楼u011422316的回复:

我也遇到这个问题

你知道是什么原因吗?
解决方案十四:
没有高手吗?
解决方案十五:
高人在哪里?
其他方案:

其他方案:
高人呢???????????
其他方案:

其他方案:

其他方案:

其他方案:

其他方案:
没明白,不知道你说什么。

时间: 2024-09-20 15:03:07

WPF,这个控件的尺寸有点怪的相关文章

wpf日历控件制作过程分析(2) 自定义样式属性

接上篇wpf日历控件制作过程分析(1) 定义header 在header中,我们看到了定义一个自定义样式TitleStyle 1.自定义样式 看后台代码定义 Code /**//// <summary> /// The DependencyProperty for the TitleStyle property. /// Flags: none /// Default Value: null /// </summary> public static readonly Depende

wpf 窗体控件里面如何嵌套一个wpf的窗体

问题描述 wpf 窗体控件里面如何嵌套一个wpf的窗体 wpf 窗体控件里面如何嵌套一个wpf的窗体------------------------------------------------------------ 解决方案 WPF 窗体 中只能存在一个Window节点,这样在解析的时候才能成功解析. 嵌套 的话 你可以做出用户控件来引用. 解决方案二: 嵌套

wpf datagrid控件拖动列头,改变顺序,获取改变后的排列顺序

问题描述 wpf datagrid控件拖动列头,改变顺序,获取改变后的排列顺序 wpf datagrid控件拖动列头,改变顺序,获取改变后的排列顺序 解决方案 看看有没有列顺序改变触发的事件,如果有在这个事件里面获取

百度地图-wpf Awesomium控件问题,网上资料实在太少了

问题描述 wpf Awesomium控件问题,网上资料实在太少了 wpf webbrowser可以正常加载百度地图,也可以正常拖动和缩放,用Awesomium控件加载百度地图则不能正常拖动和缩放,但awesomium控件加载高德地图则没有类似的问题,求教有什么解决方法没有?困扰很久了,或者说wpf怎么正常使用百度地图,而且支持H5,还不卡, 解决方案 忘了补充了是在win7的触摸屏情况下

c# 4 0-c#的wpf的控件字体大小问题

问题描述 c#的wpf的控件字体大小问题 在wpf中,如何让一个控件里的字体随窗口的大小而改变?求详细步骤,谢谢. 解决方案 字体不能自由缩放,控件可以.不过你可以根据窗口比率设置字体大小.写在resize事件里.http://download.csdn.net/detail/cuihao0532/2391243 解决方案二: 把控件放到一个Viewbox中 <Viewbox StretchDirection="DownOnly" Stretch="Uniform&qu

WPF Popup 控件导致被遮挡内容不刷新的原因

原文:WPF Popup 控件导致被遮挡内容不刷新的原因                                    WPF Popup 控件导致被遮挡内容不刷新的原因 周银辉   今天在写一个WPF控件时用到了Popup控件,很郁闷的情况是:当popup关闭时,原来被popup挡住的界面部分不刷新,非要手动刷新一下(比如最大最小化一下窗口),就连网上传说的这个方法也不行 public static class UiHelper { private delegate void NoAr

wpf-Extended WPF Toolkit 控件

问题描述 Extended WPF Toolkit 控件 现在公司需要用WPF做一个项目,并且使用Extended WPF Toolkit 组件,之前也没有用过这个东西,有没有相关的资料可以对Extended WPF Toolkit里面的控件的功能的说明与使用 解决方案 今天反编译一个MS的WPF项目,发现里面有些漂亮实用的控件.但是怎么用好这个dll(WPFToolkit.Extended).于是到网上查了一下并稍加总结.WPFToolkit.Extended是微软开源的一个dll.有兴趣的朋

wpf日历控件制作过程分析(1) 定义header

希望通过分析能更好的理解wpf控件的开发 一.日历的header布局 包含两部分,两个按钮和一个Title 首先定义按钮的样式(随自己定),可以先定义几个状态为普通状态,鼠标经过状态,按下状态和禁用4个状态显示不同的样式.其中按钮上还有一个小三角.所以还要定义一个三角的Geometry 代码开始 1.画出Geometry(涉及知识点为Geometry的画法及迷你语法,如M Z等) <PathGeometry x:Key="geometry" Figures="M0,0

数字媒体: 使用WPF向控件和三维表面添加视频

本文讨论: Windows Presentation Foundation 数字媒体基础知识 使用 MediaElement 和 MediaPlayer WPF 控件中嵌入的视频 将视频映射到三维表面上 本文使用了以下 技术: .NET Framework 3.0 当 Windows Presentation Foundation (WPF) 开始风靡整个 Adobe Flash 社区时,我最初则表示出怀疑的态度.Microsoft 引入了一项有竞争力的技术,这使得众多 Flash 开发人员(包