Nano Hash - криптовалюты, майнинг, программирование

Привязка Xamarin MvvM contentview

Я разрабатываю приложение с Xaramin.

В своем решении я создал ContentView.xaml в качестве настраиваемого элемента управления с графическим интерфейсом.

<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:local="clr-namespace:test2;assembly=test2"
    x:Class="test2.MyView">

    <ContentView.BindingContext>
        <local:MyViewModel MyValue="1"/>
    </ContentView.BindingContext>

    <StackLayout>
        <Label HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Text="{Binding MyValue}"/>
    </StackLayout>

</ContentView>

Я создал класс ViewModel для этого ContentView:

using System;
using System.ComponentModel;
using Xamarin.Forms;

namespace test2
{
    public class MyViewModel : INotifyPropertyChanged
    {
        int myValue;

        public MyViewModel()
        {
            Device.StartTimer (TimeSpan.FromSeconds (1), () => {

                this.MyValue++;
                return true;
            });
        }

        public int MyValue
        {
            set
            {
                if (! myValue.Equals(value)) {

                    myValue = value;
                    OnPropertyChanged ("myValue");
                }
            }
            get
            { 
                return myValue;
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        protected void OnPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null) {

                PropertyChanged (this, new PropertyChangedEventArgs (propertyName));
            }
        }
    }
}

Я также создал ContentPage.xaml и добавил в него свой собственный элемент управления.

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:local="clr-namespace:test2;assembly=test2"
    x:Class="test2.MyPage">

    <local:MyView />

</ContentPage>

Я обнаружил, что ярлык никогда не обновляется, почему?

23.01.2015

  • ... Text = {Binding MyValue, Mode = TwoWay} / › 21.02.2021

Ответы:


1

На первый взгляд вам следует заменить

OnPropertyChanged ("myValue");

с участием

OnPropertyChanged ("MyValue");

поскольку имя свойства чувствительно к регистру

23.10.2015
  • Более свежий ответ: OnPropertyChanged (nameof (MyValue)); 23.02.2021
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..