WPF,这个绑定有点怪 本帖最后由 d454ew32 于 2014-10-21 17:15:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public MainWindow() { InitializeComponent();button1.DataContext = this;ContentPresenter1.DataContext = this;}这样试试 一个textBlock只能在一个地方显示,在A地方显示就不能在B地方显示了 可是,具体规则是什么啊,该在哪个地方显示呢。MSDN有没有给个说法呢 测试了,确实存在这样的问题,但是,实际上CurrentTextBlock已经绑定到ContentPresenter 上了 private void button1_Click(object sender, RoutedEventArgs e) { this.DataContext = this; this.CurrentTextBlock = new TextBlock() { Name = "textblock1", Background = new SolidColorBrush(Colors.Red), Text = "张三" }; Console.WriteLine((this.ContentPresenter1.Content as TextBlock).Background); Console.WriteLine((this.ContentPresenter1.Content as TextBlock).Text); } //输出#FFFF0000张三把绑定的方法改一下吧 <Grid Name="grid1"> <Button Name="button1" Click="button1_Click" Margin="246,200,0,0" Content="{Binding CurrentTextBlock}" ></Button> <ContentPresenter Name="ContentPresenter1" Margin="0,0,167,177" > <ContentPresenter.Content> <TextBlock Background="{Binding CurrentTextBlock.Background}" Text="{Binding CurrentTextBlock.Text}"></TextBlock> </ContentPresenter.Content> </ContentPresenter> </Grid> 可是,CurrentTextBlock已经绑定到ContentPresenter 上了,为什么其Background、Text等属性,没有正常显示呢?我想知道原理啊.............................. 可是,既然CurrentTextBlock已经绑定到ContentPresenter 上了,为什么其Background、Text等属性,没有正常显示呢?我想知道原理啊..............MSDN上面有没有这方面的解释呢?................ 一个控件(此处泛指Visual类的派生类)只能有一个VisualParent想要达到你想的效果,请使用VisualBrush 好吧,就算一个控件只能有一个VisualParent,那这个VisualParent又该是谁呢?ContentPresenter?button1?有没有MSDN的详细解释呢? Form之间传值问题 web和webservice部署在一起问题! 请教高手.net调用MS project的原理是否用到PSI,急~ 关于DLL加载的问题 仿QQ折叠菜单如何实现? 高分急求!!! wmp.dll控件问题 类的构造函数后使用base()是什么意思? C#菜鸟的问题,希望得到您的帮助. ====调用VB的dll,出问题了,求大家帮忙==== asp.net如何去判断鼠标有没有点击过页面的任何地方 C#知识太少,不知此句的含意:int height = imageList.Max(x => x.Height); vs2010项目生成的时候老出现这个错误 求帮忙
{
InitializeComponent();
button1.DataContext = this;
ContentPresenter1.DataContext = this;}
这样试试
{
this.DataContext = this;
this.CurrentTextBlock = new TextBlock() { Name = "textblock1", Background = new SolidColorBrush(Colors.Red), Text = "张三" };
Console.WriteLine((this.ContentPresenter1.Content as TextBlock).Background);
Console.WriteLine((this.ContentPresenter1.Content as TextBlock).Text);
}
//输出
#FFFF0000
张三把绑定的方法改一下吧 <Grid Name="grid1">
<Button Name="button1" Click="button1_Click" Margin="246,200,0,0" Content="{Binding CurrentTextBlock}" ></Button>
<ContentPresenter Name="ContentPresenter1" Margin="0,0,167,177" >
<ContentPresenter.Content>
<TextBlock Background="{Binding CurrentTextBlock.Background}" Text="{Binding CurrentTextBlock.Text}"></TextBlock>
</ContentPresenter.Content>
</ContentPresenter>
</Grid>
我想知道原理啊..............................
我想知道原理啊..............MSDN上面有没有这方面的解释呢?................
想要达到你想的效果,请使用VisualBrush
有没有MSDN的详细解释呢?