日期:2014-05-17  浏览次数:21432 次

WPF,TextBlock的这种写法是什么属性支持的?
<TextBlock Text="TextBlock" >
    <Button />
    fgfgfg 
</TextBlock>

使用集合语法给属性赋值,起码得有个属性啊,就像ListBox的Item属性一样。
TextBlock这种写法,是由TextBlock的什么属性支持的?

------解决方案--------------------
DockPanel myDockPanel = new DockPanel(); //定义停靠容器控件 
Rectangle rect1 = new Rectangle(); //定义一个矩形

DockPanel.SetDock(rect1, Dock.Top); //设置矩形的停靠位置是置顶
myDockPanel.Children.Add(rect1); //容器控件里添加这个矩形


xxxx.Children.Add
------解决方案--------------------


TextBlock t = new TextBlock();
            Button b=new Button();
            TextBlock c=new TextBlock();
            c.Text="button";
            b.Content=c;
            t.Inlines.Add(b);
            this.Container.Children.Add(t);


textbook的inlines楼主可以看看
------解决方案--------------------
namespace System.Windows.Controls
{
[Localizability(LocalizationCategory.Text), ContentProperty("Inlines")]
public class TextBlock : FrameworkElement, IContentHost, IAddChildInternal, IAddChild, IServiceProvider
{
           ......................


一点都不读源代码,只是别人说“用吧”于是你就用了控件,怎么可能成为专业的开发人员呢?
------解决方案--------------------
再来看ListBox的父类ItemsControl是怎样定义的呢?
namespace System.Windows.Controls
{
[DefaultEvent("OnItemsChanged"), DefaultProperty("Items"), Localizability(LocalizationCategory.None, Readability = Readability.Unreadable), ContentProperty("Items"), StyleTypedProperty(Property = "ItemContainerStyle", StyleTargetType = typeof(FrameworkElement))]