我先自定义了一个UserControl,然后在别的窗口中使用它。
就比如这个UserControl是一个正方形里面放一个圆吧(预设大小为200×200),我的初始设定是让圆在正方形的中心,圆的直径是正方形边长的一半。
现在我要在窗口中引用这个UserControl,但是大小和当初设定的不一样,就比如是300×300吧,我想让UserControl的布局和比例不改变,就是说圆还在正方形的中心(别说用VerticalAlignment=“center”,那如果我不放在中心呢),直径还是正方形边长的一半。这样的话,怎么来设定圆的Height、Width和Margin值。
我找过教程,说是用依赖属性,可是这个没有详细的介绍,有谁知道怎么做吗?最好给个样例代码。
就比如这个UserControl是一个正方形里面放一个圆吧(预设大小为200×200),我的初始设定是让圆在正方形的中心,圆的直径是正方形边长的一半。
现在我要在窗口中引用这个UserControl,但是大小和当初设定的不一样,就比如是300×300吧,我想让UserControl的布局和比例不改变,就是说圆还在正方形的中心(别说用VerticalAlignment=“center”,那如果我不放在中心呢),直径还是正方形边长的一半。这样的话,怎么来设定圆的Height、Width和Margin值。
我找过教程,说是用依赖属性,可是这个没有详细的介绍,有谁知道怎么做吗?最好给个样例代码。
解决方案 »
- C#写的WebService端如何得到客户端调用时传来的XML数据?
- 从数据库读取数据,生成不规则图形,并着色
- 如何设计一个有颜色的进度条?
- gridview中如何把获取的值(字符串)转化为int类型值
- 请大家帮一下,总觉的不复杂,可就是不知道怎么写。
- 求如何返回文件中指定字符串的地址
- 超难问题:关于C$的object问题。在线,解决立即给分
- ***高分***在页面中传递参数,但是按钮事件后页面刷新,参数保存不下来
- 很简单的一个关于字符串的操作问题
- .net程序怎么捕捉Windows登出,关机、任务管理器结束进程操作所导致本应用程序的中止事件?
- 请教rss订阅网站第一次加载时候是怎么读取到那么多数据的?
- js单线程异步
把原始目标元素的属性绑定给目标元素,原始元素改变后,目标元素也改变,这个的FrameworkElement对象是WPF支持的控件
/// <summary>
/// 元素绑定
/// </summary>
/// <param name="eleSrc">原始元素</param>
/// <param name="eleDes">目标元素</param>
/// <res>
private void Bind(FrameworkElement eleSrc, FrameworkElement eleDes)
{
Binding oBindWidth = new Binding();
oBindWidth.Source = eleSrc;
oBindWidth.Path = new PropertyPath(FrameworkElement.WidthProperty);
oBindWidth.Mode = BindingMode.TwoWay;
eleDes.SetBinding(FrameworkElement.WidthProperty, oBindWidth); Binding oBindHgiht = new Binding();
oBindHgiht.Source = eleSrc;
oBindHgiht.Path = new PropertyPath(FrameworkElement.HeightProperty);
oBindHgiht.Mode = BindingMode.TwoWay;
eleDes.SetBinding(FrameworkElement.HeightProperty, oBindHgiht);
}
<Viewbox Stretch="Uniform">
<你的圆>
</Viewbox>
<ViewBox Stretch="Uniform">
<圆>
</ViewBox>
</UserControl>