请教WPF高手,如何使ControlTemplate内的元素自动适应整个控件的大小?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教WPF高手,如何使ControlTemplate内的元素自动适应整个控件的大小?相关的知识,希望对你有一定的参考价值。
如图,我自定义一个CheckBox,用了一个Ellipse。但是目前只能把长宽规定死,试过Width ="TemplateBinding CheckBox.Width不会报错,但是尺寸变为0了(不显示)。
Mickal小米,zhouxiang_1216,两位,可否帮忙解决以下问题?
自定义CheckBox,左边是一个红圈,右边是false,点击变成蓝圈,true。
拖动的时候,圈始终是正圆,且圈和文字占的宽度比例始终是一样的。
不用后台代码。vs2010.如果能上传附件上来我就采纳。
<ControlTemplate TargetType="x:Type CheckBox">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0">
<Ellipse Name="E1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Fill="Red"/>
</Border>
<ContentPresenter Grid.Column="1" HorizontalAlignment="TemplateBinding HorizontalContentAlignment" Margin="TemplateBinding Padding" RecognizesAccessKey="True" SnapsToDevicePixels="TemplateBinding SnapsToDevicePixels" VerticalAlignment="TemplateBinding VerticalContentAlignment"/>
</Grid>追问
BulletDecorator没有用吗?
还有如果我想实现不管怎么拖动,始终那是一个圆形,又怎么实现?不用后台代码。
这还不简单,用属性绑定不就行了
Height="Binding ActualWidth, ElementName=E1, Mode=OneWay"
请看问题补充
追答好的,搞定!~
啥呀,你怎么弄了一个和Windows自带的一模一样的来呀?发错没有?
本回答被提问者采纳 参考技术B CheckBox的高度和宽度本来就是“Auto”,你画了个圆不定义高度和宽度确实显示不出来,你是想要做什么?不定义Ellipse的大小,让它随CheckBox的高度变化吗?这个可以有的,需要代码说一下,希望对你有帮助,有疑问请追问或是Hi追问让它随CheckBox的高度变化吗---就是这个需求。
追答用一个DockPanel,前面不写了,直接从ControlTemplate写:
CheckBox需要定义高度,先试试吧
请看问题补充
追答........
请教高手GridView编辑时生成DropDownList列
就是在点击编辑列的时候
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
this.GridView1.EditIndex = e.NewEditIndex;
bangding();//从新绑定数据源
这样 该列就会进入编辑模式 就是所有列都成为文本框
我现在想然某列成为DropDownList下拉列表 该如何实现 请高手指教
大哥 详细点 就一句话 我知道啥啊
------------------------------------
...............哦上帝啊 你们理解错了 我说的是在编辑是编辑按钮 就是运行出来 我点编辑按钮 然后这一列不就成文本框了嘛 我想让其中一个变成下拉列表框。。。。。我当然知道楼下2位说的 苍天啊
~
要注意操作的时候都要选中那一列哦。。。 参考技术A 在EditTemplete中添加DropDownList控件! 参考技术B 看一楼的。
以上是关于请教WPF高手,如何使ControlTemplate内的元素自动适应整个控件的大小?的主要内容,如果未能解决你的问题,请参考以下文章
请教C#/WPF高手,类似点击头像出来相关tooltip菜单的功能是怎么实现的?