デフォルトでは、Mode=OneWay
<Grid x:Name=”ContentPanel” Grid.Row=”1″ Margin=”12,0,12,0″ Loaded=”ContentPanel_Loaded”>
<StackPanel Name=”stackPanel1″>
<TextBox Name=”textBox1″ Text=”{Binding TimeString, Mode=TwoWay}”/>
<Button Content=”Button” Name=”button1″ Click=”button1_Click” />
<TextBox Name=”textBox2″ Text=”{Binding X, Mode=TwoWay}”/>
</StackPanel>
</Grid>
using System;
using System.Windows;
using Microsoft.Phone.Controls;
using System.Windows.Threading;
using Microsoft.Devices.Sensors;
using System.ComponentModel;
namespace PhoneApp9
{
public partial class MainPage : PhoneApplicationPage
{
// コンストラクター
public MainPage()
{
InitializeComponent();
}
private void ContentPanel_Loaded(object sender, RoutedEventArgs e)
{
ContentPanel.DataContext = new MyTime();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
((MyTime)ContentPanel.DataContext).TimeString = DateTime.Now.ToLongTimeString();
((MyTime)ContentPanel.DataContext).X += 1;
}
}
public class MyTime : INotifyPropertyChanged
{
private String _timeString;
public event PropertyChangedEventHandler PropertyChanged;
public String TimeString
{
get { return _timeString; }
set
{
_timeString = value;
NotifyPropertyChanged(“TimeString”);
}
}
private double _x;
public double X
{
get { return _x; }
set
{
_x = value;
NotifyPropertyChanged(“X”);
}
}
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
コメントを残す