首页 新闻 会员 周边

100分求助,Silverlight 自定义对象的在XAML中的定义问题

0
悬赏园豆:100 [已关闭问题]

在Silverlight中自定了一个对象,并在对象中定义了一个UserControl属性,然后在页面资源中生成一个该对象的实例,不用后代代码,能否直接在XAML中,直接将XAML页面的UserControl对象的实例赋值给自定对象的属性呢?  如下是代码, 有办法吗? 请各位高手,大侠帮帮忙.给个明确答复,在线等,回答正确马上给分.先感谢了

自定义对象

using System.Windows.Controls;

namespace SApp
{
public class CustomizeObject
{
public UserControl Control { get; set; }
}
}

 

XAML页

<UserControl xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit" x:Class="SApp.MainPage"
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d
="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc
="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:S
="clr-namespace:SApp"
mc:Ignorable
="d"
d:DesignHeight
="300" d:DesignWidth="400">
<UserControl.Resources>
<S:CustomizeObject x:Key="item" />
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White">

</Grid>
</UserControl>
Soin的主页 Soin | 初学一级 | 园豆:100
提问于:2010-07-28 14:06
< >
分享
其他回答(3)
0

http://www.cnblogs.com/prism/archive/2010/07/23/1783408.html

这个视频后面有的讲。

Astar | 园豆:40805 (高人七级) | 2010-07-28 14:33
我去看看,如果可以,马上给分结贴,感谢你的关注
支持(0) 反对(0) Soin | 园豆:100 (初学一级) | 2010-07-28 14:37
银行的电脑没办法看视频,你能些个Demo来告诉下具体该怎么做么?
支持(0) 反对(0) Soin | 园豆:100 (初学一级) | 2010-07-28 15:15
@Soin:不好意思,我这里现在环境不支持。给个网址吧,http://www.cnblogs.com/klzwj1988/archive/2010/05/09/1731368.html。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-07-28 15:21
你好像理解错了我的意思,你上面给的那个链接,和我想要的不一样,我的意思是,我在自定义对象中定义了UserControl这个类型的属性,然后在XAML文件中以"资源"的形式创建了这个自定义对象,接着直接在XAML文件中将这个XAML的UserControl实例赋值给这个自定义对象,而不是在后台代码中赋值.我不知道可以实现不,所以请各位告知下.谢谢.
支持(0) 反对(0) Soin | 园豆:100 (初学一级) | 2010-07-28 16:11
@Soin:不好意思...本人对这方面也不太了解,就想给你提供些资料,前不久看给你发那个视频,上面有赋值自定义类型,如果有条件你可以看一下,有帮忙就收下,呵呵。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-07-28 16:15
恩,很感谢你的关注.我继续等答案.
支持(0) 反对(0) Soin | 园豆:100 (初学一级) | 2010-07-28 16:24
0
		public UserControl Control
{
get
{
return (UserControl)GetValue(ControlProperty);
}
set
{
SetValue(ControlProperty, value);
}
}

// Using a DependencyProperty as the backing store for Control.  This enables animation, styling, binding, etc...
public static readonly DependencyProperty ControlProperty =
DependencyProperty.Register("Control"typeof(UserControl), typeof(UserControl), new PropertyMetadata(null));
Pandora | 园豆:257 (菜鸟二级) | 2010-07-28 15:59
利用依赖属性? 能说清楚点么?能写完整么?
支持(0) 反对(0) Soin | 园豆:100 (初学一级) | 2010-07-28 16:06
@Soin:定义一个dependency property就可以使用binding来实现数据的双向传输。 我只是不太清楚你需要做什么,如果你只是想要拿到整个usercontrol,你只需要在usercontrol上定义一个x:Name,然后在后端就可以直接用这个name拿到整个控件了,不用写任何代码。
支持(0) 反对(0) Pandora | 园豆:257 (菜鸟二级) | 2010-07-28 19:30
0

用Element to Element Binding试一下.

hades | 园豆:205 (菜鸟二级) | 2010-07-28 17:24
0

可以:如下面的代码:

XAML :

 <UserControl.Resources>
        <s:CustomizeObject x:Key="item" />
    </UserControl.Resources>

  <Grid x:Name="LayoutRoot" Background="White">

  <s:CustomizeObject x:Name="a"  Control="{StaticResource item}"  ></s:CustomizeObject>

</Grid>

CS :


    public class CustomizeObject :UserControl
    {
        public UserControl Control
        { get; set; }
    }

我测试过, 可以用的,你试下看、希望对你有帮助。

HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-05 22:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册