Ble*_*ari 4 c# xaml xamarin xamarin.forms
我对Xamarin表格比较陌生。我发现我无法从后面的代码中更改标签文本。通常我会的myLabel.text = variable
。这在Xamarin中有效吗?如果可以,为什么此代码不更改文本?
Label_ControlSW.Text = controlSW_Out;
Label_BLESW.Text = bleSW_Out;
Label_Mode.Text = mode_Out;
Run Code Online (Sandbox Code Playgroud)
XAML文件
<Label x:Name="Label_ControlSW" Grid.Row="1" Grid.Column="1" HorizontalOptions="Center" VerticalOptions="Center" FontSize="17" TextColor="White"/>
<Label x:Name="Label_BLESW" Grid.Row="2" Grid.Column="1" HorizontalOptions="Center" VerticalOptions="Center" FontSize="17" TextColor="#525252"/>
<Label x:Name="Label_Mode" Grid.Row="4" Grid.Column="1" HorizontalOptions="Center" VerticalOptions="Center" FontSize="17" TextColor="White"/>
Run Code Online (Sandbox Code Playgroud)
尝试初始化Text
XAML 中的值,如下所示:
<Label x:Name="YourLableName" Text="Initial Label"/>
Run Code Online (Sandbox Code Playgroud)
然后在后面的代码中访问它,如下所示:
YourLableName.Text = "Desired Name";
Run Code Online (Sandbox Code Playgroud)
或者
YourLableName.Text = variable;
Run Code Online (Sandbox Code Playgroud)
这在Xamarin中有效吗?
是的,它确实。
如果可以,为什么此代码不更改文本?
由于该Label
组件不受该变量的限制,因此仅在执行该操作时才获得其值,Label_ControlSW.Text = controlSW_Out;
并且不再需要其他任何操作。
要使其正常工作,您基本上有两种选择:
1.每次更改时将值设置到标签上;
这里没有魔术。像Ali Heikal在他的答案中建议的那样设置值或变量
2.将页面(视图)绑定到Observable对象,然后视图将侦听可观察对象(通常是View Model)上的每个更改,并对此做出反应(例如,更改其自身Text值)。
我想您打算做的是第二个。因此,您可以在页面代码后面创建一个公共字符串属性,并将页面实例绑定到自身。像这样:
XAML
<Label Text="{Binding MyStringProperty}"
.../>
Run Code Online (Sandbox Code Playgroud)
后面的代码
public partial class MyTestPage : ContentPage
{
private string myStringProperty;
public string MyStringProperty
{
get { return myStringProperty; }
set
{
myStringProperty = value;
OnPropertyChanged(nameof(MyStringProperty)); // Notify that there was a change on this property
}
}
public MyTestPage()
{
InitializeComponents();
BindingContext = this;
MyStringProperty = "New label text"; // It will be shown at your label
}
}
Run Code Online (Sandbox Code Playgroud)
您应该看一下有关XF上的数据绑定和MVVM模式的官方文档,如果您是从Xamarin.Forms开始的,我强烈建议您遵循官方的入门指南,该指南针对每个主题都提供了清晰而深入的知识,以学习您的所有知识。需要。
希望对您有所帮助。
归档时间: |
|
查看次数: |
9713 次 |
最近记录: |