Alloha,
ben momenteel bezig met een ontwikkelen van een applicatie voor eigen gebruik ivm facturen e.d.
Dit ben ik bezig in WPF/.NET 3.5 en maak gebruik van het MVVM principe.
Op mijn window heb ik een usercontrol staan, welke om klantengegevens komt vragen. Op deze usercontrol staat een Combobox en een textbox, die respectievelijk dienen om de gemeente te zoeken/postcode in te geven.
Nu is het de bedoeling dat wanneer je start met typen in de textbox, de dropdown gefilterd wordt. Heb al eens gekeken naar een autocomplete box voor wpf, en heb er een gevonden... alleen kan ik hier niet aan uit, dus dacht ik: laten we hetzelf doen :d
Ik heb dus een DependencyProperty aangemaakt, inclusief eigen classe welke inherit van het type 'TextBox':
in mijn xaml pagina zelf plaats ik het volgende:
Het is dus eigenlijk de bedoeling dat ik mijn property "FilterText" laat invullen en een messagebox laat tonen, wanneer er een teken ingevoerd wordt.....
Tevergeefs.....
Ook heb ik al geprobeerd om de property 'Text' te binden aan de custom property maar ook dit lijkt niet te werken. Wanneer ik code intype achter FilterText (dus in xaml), dan krijg ik steeds mijn messageboxen te zien....
maar bij het uitvoeren van de applicatie dus niet 
Ik ben er redelijk zeker van dat dit iets simpels gaat zijn maar dat ik iets over het hoofd zie....
Iemand enig idee?
ben momenteel bezig met een ontwikkelen van een applicatie voor eigen gebruik ivm facturen e.d.
Dit ben ik bezig in WPF/.NET 3.5 en maak gebruik van het MVVM principe.
Op mijn window heb ik een usercontrol staan, welke om klantengegevens komt vragen. Op deze usercontrol staat een Combobox en een textbox, die respectievelijk dienen om de gemeente te zoeken/postcode in te geven.
Nu is het de bedoeling dat wanneer je start met typen in de textbox, de dropdown gefilterd wordt. Heb al eens gekeken naar een autocomplete box voor wpf, en heb er een gevonden... alleen kan ik hier niet aan uit, dus dacht ik: laten we hetzelf doen :d
Ik heb dus een DependencyProperty aangemaakt, inclusief eigen classe welke inherit van het type 'TextBox':
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Controls; using System.Windows; namespace Invoices.App { public class FilterTextBox:TextBox { static FilterTextBox() { DefaultStyleKeyProperty.OverrideMetadata(typeof(FilterTextBox), new FrameworkPropertyMetadata(typeof(FilterTextBox))); } public String FilterText { get { return (String)GetValue(FilterTextProperty); } set { SetValue(FilterTextProperty, value); } } // Using a DependencyProperty as the backing store for FilterText. This enables animation, styling, binding, etc... public static readonly DependencyProperty FilterTextProperty = DependencyProperty.Register("FilterText", typeof(String), typeof(FilterTextBox), new UIPropertyMetadata(String.Empty)); protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) { base.OnPropertyChanged(e); if (e.Property == FilterTextBox.FilterTextProperty) { MessageBox.Show("Property changed"); } } } } |
in mijn xaml pagina zelf plaats ik het volgende:
XML:
1
2
3
4
5
6
| <local:FilterTextBox Style="{StaticResource ValidatingTextBox}" Width="150" FilterText="{Binding Path=Text,UpdateSourceTrigger=PropertyChanged}" Margin="10,0,0,0"> </local:FilterTextBox> |
Het is dus eigenlijk de bedoeling dat ik mijn property "FilterText" laat invullen en een messagebox laat tonen, wanneer er een teken ingevoerd wordt.....
Tevergeefs.....
Ook heb ik al geprobeerd om de property 'Text' te binden aan de custom property maar ook dit lijkt niet te werken. Wanneer ik code intype achter FilterText (dus in xaml), dan krijg ik steeds mijn messageboxen te zien....
Ik ben er redelijk zeker van dat dit iets simpels gaat zijn maar dat ik iets over het hoofd zie....
Iemand enig idee?
Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.