如果您TextBox
在XAML
with中命名您textBlockMsg
,这将起作用
编辑
// 我不会实现整个 INotifyPropertyChanged 检查如何处理它:实现
public class CalculationClass : INotifyPropertyChanged
{
public void CalculateDistance()
{
TextToBeBound = "in progress..."
--code
VisibilityToBeBound = Collapsed;
}
public string TextToBeBound
{ //... insert the implement of this property + NotifyPropertyChanged
get {...}
set {...}
}
public Visibility VisibilityToBeBound
{ //... insert the implement of this property + NotifyPropertyChanged
get {...}
set {...}
}
}
然后在 XAML 中添加:
<TextBlock x:Name="txtBlocMsg" Visibility={"Binding VisibilityToBeBound"} Text={Binding TextToBeBound"}/>
不要忘记将DataContext
UI 设置为您的班级(在我的情况下CalculationClass
你应该很高兴。如果这一切都是新的。我建议您阅读有关数据绑定 + MVVM 模式的信息。
编辑
将 UI 元素传递给模型/业务类是不好的做法。您应该使用 MVVM 模式。
希望这可以帮助。