Ad esempio, è possibile associare una proprietà Text di Textblock a un elemento Nome [2] di tipo String?In C# e WPF, è possibile associare un elemento di una matrice a una proprietà di oggetti?
risposta
io non sono sicuro di cosa si intende esattamente con queste parole: un nome di elemento [2] di tipo String, per cui qui sono due possibili soluzioni al tuo problema: Array1 e String1. Array1 mostra l'arco da associare all'elemento di un array e String1 mostra come visualizzare un singolo carattere in una stringa.
CODICE:
public partial class MainWindow : Window
{
private Array array1 = new[] {"test1", "test2", "test3"};
public Array Array1 { get { return array1; } }
public string string1 = "string";
public string String1 { get { return string1; } }
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
}
}
XAML:
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Array1[0]}"/>
<TextBlock Text="{Binding Array1[2]}"/>
<TextBlock Text="{Binding String1[0]}"/>
<TextBlock Text="{Binding String1[1]}"/>
</StackPanel>
Speranza che aiuta.
Grazie, questo funziona eccetto che l'aggiornamento dell'origine non aggiorna il controllo target. Ho provato tutto e non funziona fino ad ora. Dovrei usare una ObservableCollection? – Scifiballer24
Poiché questo commento non consente di pubblicare un'altra risposta. –
se vuoi dire che se siamo in grado di legarsi oggetto array con textBox allora sì
<TextBox Margin="10" Text="{Binding Name[2], Mode=Default}" Name="textBox1"/>
TextBox non ha una proprietà Content. –
scusa ... è un mio errore, grazie – Azhar
Sì, è possibile. Di seguito è l'approccio XAML. Si consiglia di associare a una raccolta Osservabile se si desidera aggiornare automaticamente l'IU quando il valore cambia.
public class DataStub
{
public Array SomeNorthEasternStates
{
get
{
return new[] { "NH", "VT", "CT", "MA", "ME" };
}
}
}
XAML: Supponendo che il DataContext è impostato correttamente:
<TextBox Margin="5" Text="{Binding SomeNorthEasternStates[3], Mode=Default}"/>
C'è una ragione particolare per cui stai usando i metodi della classe 'Array' invece di fare semplicemente' var testArray = new string [5]; testarray [0] = "NY"; ... '. – Heinzi
@Heinzi - O var testArray = new [] {"NH", "VT", "CT", "MA", "ME"}; (NY e NJ non sono nel New England) :) –
@ John Bowen. Colpa mia. Cambiato il nome – SKG
Ho aggiunto un pulsante in xaml e l'evento "clic" sottoscritto.
Ecco il codice C#.
public partial class MainWindow : Window, INotifyPropertyChanged
{
private Array array1 = new[] { "test1", "test2", "test3" };
public Array Array1 { get { return array1; } }
public string string1 = "string";
public string String1
{
get { return string1; }
set
{
string1 = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("String1"));
}
}
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
}
public event PropertyChangedEventHandler PropertyChanged;
private void Button_Click(object sender, RoutedEventArgs e)
{
String1 = DateTime.Now.ToString();
array1.SetValue("another test", 0);
PropertyChanged(this, new PropertyChangedEventArgs("Array1"));
}
}
Grazie. ObservableCollection implementa anche quelle funzioni e funziona perfettamente. Apprezzo il tuo aiuto klm_. – Scifiballer24
Uso ObservableCollection invece:
private ObservableCollection<string> _myItems = new ObservableCollection<string>(new[] { "test1", "test2", "test3" });
public ObservableCollection<string> MyItems
{
get { return _myItems; }
set { _myItems = value; }
}
Xaml
<StackPanel Orientation="Vertical">
<TextBox Text="{Binding MyItems[0]}"/>
<TextBox Text="{Binding MyItems[2]}"/>
<TextBlock Text="{Binding MyItems[0]}"/>
<TextBlock Text="{Binding MyItems[1]}"/>
</StackPanel>
- 1. Come associare una proprietà di un elemento a una proprietà di un altro in XAML
- 2. È possibile associare un DataTrigger a una proprietà associata?
- 3. WPF: come associare a una proprietà nidificata?
- 4. È possibile associare HTML a un controllo browser Web WPF?
- 5. Backbone - È possibile associare un evento di modifica a un modello, ad eccezione di una proprietà?
- 6. Tipi anonimi a una matrice di oggetti?
- 7. Selezionare una proprietà specifica dalla matrice di oggetti angolari
- 8. Accesso alle proprietà di una matrice di oggetti
- 9. Impossibile associare una proprietà associata a un'altra proprietà di dipendenza
- 10. Come associare una raccolta a una ListView in WPF
- 11. Aggiunta di oggetti a una proprietà NSMutableArray
- 12. Serializzare una proprietà Json che a volte è una matrice
- 13. Come associare una tabella in un set di dati a un datagrid WPF in C# e XAML
- 14. Aggiungere oggetti a una matrice di oggetti in PowerShell
- 15. Come associare una variabile a un elemento interrogato in SPARQL
- 16. E 'possibile associare una sessione di debug a un programma in esecuzione in eclissi CDT
- 17. Associazione di una selezione a una matrice di oggetti in Aurelia e corrispondente all'ID
- 18. Controllare se una chiave è l'ultimo elemento in una matrice?
- 19. È possibile una variabile vincolante per un elemento della raccolta
- 20. È possibile associare il secondo parametro di una funzione lambda?
- 21. Come associare correttamente a una proprietà di dipendenza di un usercontrol in un framework MVVM
- 22. È possibile associare un elenco a un ListView in WinForms?
- 23. è possibile avere una matrice di matrici in R?
- 24. WPF: Associazione di un'etichetta a una proprietà di classe
- 25. Come associare la proprietà di un controllo a una proprietà di un altro controllo?
- 26. Come dichiarare una matrice di oggetti in C#
- 27. È possibile aggiungere attributi a una proprietà di runtime di oggetti dinamici?
- 28. Interrogare una matrice di oggetti usando linq
- 29. join array di oggetti utilizzando una proprietà
- 30. Convertire un elenco di oggetti da una matrice di una delle proprietà dell'oggetto
Vuoi dire come associare Nome [2] per la proprietà di controllo declaretively in XAML? –
Sì, questo è quello che intendo. Al momento, tuttavia, il collegamento funziona ma il controllo target non viene aggiornato quando viene modificata la variabile di origine. I'm stumped – Scifiballer24