Databinding
There are 7 entries for the tag
Databinding
Essendo una domanda ricorrente credo sia il caso di bloggarla: “Se il mio ViewModel espone una proprietà enumerativa, come posso bindarla ad un insieme di radio buttons ?”. La risposta sta nell’utilizzo di un converter. Partiamo dal ViewModel: 1: public enum Power {Low,Medium,High}
2:
3: public class TheViewModel
4: {...
Sembra che Silverlight3 abbia qualche problema col databinding…, prendiamo una classe Person che implementa INotifyPropertyChanged e supponiamo di volerne editare le proprietà Name e Age. <StackPanel>
<TextBox Text="{Binding Path=Name, Mode=TwoWay}" />
<TextBox Text="{Binding Path=Age, Mode=TwoWay}" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
nel costruttore del codebehind, come da...
Ieri al termine della mia sessione ai Community Days 2008 Nicolò ha proposto un “intrigante” quesito: In breve: l’obiettivo è quello di cambiare il colore di sfondo di alcune labels in base al testo inserito in una textbox, gestendo il tutto all’interno di un unico style implicito condiviso da tutte le labels. Alla fine, ragionandoci un attimo, sono giunto a questa soluzione che aggira l’impossibilità di usare binding sulla proprietà Value della classe DataTrigger usando un MultiTrigger alimentato con: il valore contenuto della textbox. Il valore della...
Capire perchè un binding non funziona come dovrebbe in WPF non è molto semplice, immaginiamo questa semplice situazione: XAML <Window x:Class="WPF_Databind.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<TextBox
Text="{Binding Path=CustomerName}"
Height="23" Margin="87,65,71,0" Name="textBox1" VerticalAlignment="Top" />
</Grid>
</Window>
Codice
namespace WPF_Databind
{
public partial class Window1 : Window
...
A volte una domanda a prima vista banale in realtà si rileva più complicata del previsto, nello specifico la domanda era: Come posso recuperare un controllo all'interno di un mio custom ValueConverter?. La prima risposta è stata quella di passare un riferimento all'elemento host attraverso ConverterParameter e poi usare il metodo FindName : ovvero usare qualcosa tipo: <Window.Resources>
<local:MyMultiValueConverter x:Key="mc" />
</Window.Resources>
...
<TextBox Text="{Binding Path=Title, Converter={StaticResource mc},
ConverterParameter={Binding...
Uno degli aspetti meno conosciuti del databinding di WPF è la naturale gestione degli aggiornamenti nel caso questi avvengano da un thread secondario.Supponiamo di avere una fonte dati che quando il metodo QueryValue viene invocato aggiorni i propri dati attraverso un thread secondario in modo da non bloccare l'intera applicazione. class MyData:INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public int Value { get; set; }
public void QueryValue()
{
ThreadPool.QueueUserWorkItem(delegate(object o)
...
A quanto pare LINQ To SQL, almeno nella beta2, non ama molto il databinding.Prediamo un esempio banale: mostrare il contenuto della tabella Customers di Northwind e aggiungere un nuovo cliente.Supponendo di avere già creato attraverso il designer di Visual Studio 2008 le varie entities il codice da scrivere è: 1: NwDataContext nw = new NwDataContext(@"Data Source=VMXP\SQLEXPRESS;Initial Catalog=Northwind"); 2: 3: public Form1 () 4: { 5: InitializeComponent(); 6: ...