C# Caliburn.micro鼠标单击更新文本块
我还在学习Caliburn.micro,所以这可能是一个愚蠢的问题。 我有一个列表视图,里面有一个GridView。我希望能够单击一行,并让它在ListView之外更改TextBlock的文本C# Caliburn.micro鼠标单击更新文本块,c#,wpf,caliburn.micro,C#,Wpf,Caliburn.micro,我还在学习Caliburn.micro,所以这可能是一个愚蠢的问题。 我有一个列表视图,里面有一个GridView。我希望能够单击一行,并让它在ListView之外更改TextBlock的文本 <TextBlock x:Name="titleText" Grid.Row="6" Grid.Column="4" Text="View a report of all current applications" TextWrapping="Wrap" Margin="5" VerticalAli
<TextBlock x:Name="titleText" Grid.Row="6" Grid.Column="4" Text="View a report of all current applications" TextWrapping="Wrap" Margin="5" VerticalAlignment="Center" FontWeight="Bold" />
<ListView VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Name="listView1" SelectedItem="{Binding Key}" ItemContainerStyle="{DynamicResource CustomListViewItemStyle}" AlternationCount="2"
ItemsSource="{Binding}" DataContext="{StaticResource OrderGroup}" Grid.Column="2" Grid.Row="10" Grid.ColumnSpan="5" Height="200" cal:Message.Attach="[Event MouseLeftButtonUp]=[Action HandleClick($eventArgs)]">
<ListView.View>
<GridView AllowsColumnReorder="False" x:Name="GridView1">
<GridViewColumn Header="Client Name" DisplayMemberBinding="{Binding Path=ClientName}" ></GridViewColumn>
<GridViewColumn Header="Application ID" DisplayMemberBinding="{Binding Path=ID}" ></GridViewColumn>
</GridView>
</ListView.View>
</ListView>
titleText(我正在尝试更新的文本块)的定义如下:
String _titleText = "";
public string titleText
{
get { return _titleText; }
set
{
if (_titleText != value)
{
_titleText = value;
NotifyOfPropertyChange(() => _titleText);
}
}
}
但是,这不会更新TextBlock。我进入代码,看到titleText在代码中发生了更改,但它没有显示出来。
我也改变了这一点,只是做同样的事情,点击一个图像,它成功地工作
那么这里有什么我可能遗漏的吗?任何有Caliburn.micro经验的人
谢谢
Mudders解决方案是通过编码Gorilla提供的——我在titleText声明中遗漏了它。它应该调用属性,而不是私有成员,就像这样:
String _titleText = "";
public string titleText
{
get { return _titleText; }
set
{
if (_titleText != value)
{
_titleText = value;
NotifyOfPropertyChange(() => titleText);
}
}
}
改变了这一点,它起到了治疗作用——这只是我没有看到问题的一个例子。
谢谢。我对Caliburn没有太多经验,但应该是:
NotifyOfPropertyChange(()=>titleText)
?财产,而不是私人成员?编码大猩猩!谢谢你发现了明显的问题!我想我已经看了这么久,我甚至没有注意到它了!谢谢我的愚蠢!
String _titleText = "";
public string titleText
{
get { return _titleText; }
set
{
if (_titleText != value)
{
_titleText = value;
NotifyOfPropertyChange(() => titleText);
}
}
}