-
Oct 14th, 2021, 04:27 AM
#1
Thread Starter
New Member
Maximum y Achse Chart WPF als Variable
Hallo zusammen,
ich habe im Coding eine Variable als Public definiert, der ich einen Wert zuweise - myMax.
Im WPF habe ich ein Chart, dem ich diesen Wert als Maximalwert für die Y-Achse zuweisen möchte.
So habe ich es probiert, da tut sich aber nichts. Es erscheinen gar keine Balken.
<cht:Chart Name="populationChart" Title="Kosten" Foreground="DarkBlue" Background="DarkOrange" Margin="10,10,10.286,454.429" >
<cht:Chart.Series>
<cht:ColumnSeries Title="Kosten [€]" Background="DarkBlue" BorderBrush="Black" DependentValuePath="Value" IndependentValuePath="Key" ItemsSource="{Binding}" IsSelectionEnabled="True" >
</cht:ColumnSeries>
</cht:Chart.Series>
<cht:Chart.Axes>
<cht:LinearAxis Orientation="Y" Minimum="0" Maximum="{Binding myMax}" />
</cht:Chart.Axes>
</cht:Chart>
Wie kann ich die Variable hier übergeben?
Danke.
-
Oct 14th, 2021, 01:18 PM
#2
Re: Maximum y Achse Chart WPF als Variable
English Speaking forum. Please translate your posts to English.
Translation:
Hello, everyone,
In the coding I have defined a variable as Public, to which I assign a value - myMax.
In the WPF I have a chart to which I want to assign this value as the maximum value for the Y-axis.
So I tried it, but nothing happened. No bars appear at all.
Code:
<cht:Chart Name="populationChart" Title="Kosten" Foreground="DarkBlue" Background="DarkOrange" Margin="10,10,10.286,454.429" >
<cht:Chart.Series>
<cht:ColumnSeries Title="Kosten [€]" Background="DarkBlue" BorderBrush="Black" DependentValuePath="Value" IndependentValuePath="Key" ItemsSource="{Binding}" IsSelectionEnabled="True" >
</cht:ColumnSeries>
</cht:Chart.Series>
<cht:Chart.Axes>
<cht:LinearAxis Orientation="Y" Minimum="0" Maximum="{Binding myMax}" />
</cht:Chart.Axes>
</cht:Chart>
How can I pass the variable here?
Thanks.
"Anyone can do any amount of work, provided it isn't the work he is supposed to be doing at that moment" Robert Benchley, 1930
-
Nov 4th, 2021, 09:44 AM
#3
New Member
Re: Maximum y Achse Chart WPF als Variable
Set the property of the chart from code, without Binding, something like this:
Code:
populationChart.Axes.LinearAxis.Maximum = myMax
Or, when Binding is required:
Code:
Imports System.ComponentModel
Class MainWindow
Implements INotifyPropertyChanged
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Private _myMax As Integer = 123
Public Property myMax As Integer
Get
Return _myMax
End Get
Set(value As Integer)
_myMax = value
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("myMax"))
End Set
End Property
Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs)
Me.DataContext = Me
'or set the DataContext for MainWindow in XAML
'DataContext="{Binding Mode=OneWay, RelativeSource={RelativeSource Self}}"
End Sub
End Class
All of the following is required:
- Imports System.ComponentModel
- Implements INotifyPropertyChanged
- Public Event PropertyChanged...
- Public Property myMax - must be a Property, it won't work with a simple variable
- RaiseEvent PropertyChanged in myMax Set
- Set the DataContext either by Code or in XAML
Now Binding works
Code:
<TextBox Width="100" Height="25" Text="{Binding myMax}"/>
Last edited by kensen; Nov 4th, 2021 at 10:51 AM.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|