Hallo miteinander
Ich hab mal ein komplexeres Problem, aber fangen wir mal so an, vielleicht erledigt sich dann der Rest:
An anderer Stelle in meinem Projekt hab ich das hier, und es funktioniert:
Ziel ist es, für diese Funktion der bass.dll die Werte zu ermitteln für Breite und Höhe, damit das Bild mit den richtigen Parametern erstellt wird. Denn das Image kann in der Größe variieren, je nachdem, wie das Fenster skaliert wird oder der was für ein Format der Bildschirm hat (ich benutze Grids mit prozentualer Angabe für
Und im ViewModel davon:
Wenn ich aber das hier mache:
und das:
bekomme ich hier immer den Fehler in Zeile 2...
HResult=0x80004003
Nachricht = Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
Quelle = System.Drawing
...wenn ich Breite und Hoehe nicht vorher festlege, obwohl das bei dem ersten Beispiel ohne Festlegen funktioniert hat.
Hat jemand ne Idee, warum das beim zweiten Beispiel nicht funktioniert?
Ich hab mal ein komplexeres Problem, aber fangen wir mal so an, vielleicht erledigt sich dann der Rest:
An anderer Stelle in meinem Projekt hab ich das hier, und es funktioniert:
Ziel ist es, für diese Funktion der bass.dll die Werte zu ermitteln für Breite und Höhe, damit das Bild mit den richtigen Parametern erstellt wird. Denn das Image kann in der Größe variieren, je nachdem, wie das Fenster skaliert wird oder der was für ein Format der Bildschirm hat (ich benutze Grids mit prozentualer Angabe für
Width
and Height
).XML-Quellcode
- <Border BorderThickness="1" BorderBrush="Aquamarine">
- <Image Grid.Row="0" Width="{Binding Breite, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}" Height="{Binding Hoehe, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}" Source="{Binding Bild, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}" Stretch="Fill" Validation.ErrorTemplate="{x:Null}"/>
- </Border>
Und im ViewModel davon:
VB.NET-Quellcode
- Private _Breite As Integer
- Public Property Breite As Integer
- Get
- Return _Breite
- End Get
- Set(value As Integer)
- _Breite = value
- RaisePropertyChanged()
- End Set
- End Property
- Private _Hoehe As Integer
- Public Property Hoehe As Integer
- Get
- Return _Hoehe
- End Get
- Set(value As Integer)
- _Hoehe = value
- RaisePropertyChanged()
- End Set
- End Property
- ...
- BMP = Spektrum.CreateSpectrumLinePeak(MainModule.streamfx(WelcherEQ - 1), Breite, Hoehe, System.Drawing.Color.Green, System.Drawing.Color.IndianRed, System.Drawing.Color.SlateGray, System.Drawing.Color.Transparent, Breite \ 10, 3, MainModule.SpectrumAnalyzerDistanz, 40, False, True, True)
Wenn ich aber das hier mache:
XML-Quellcode
- <Canvas Grid.Row="6">
- <Image Source="{Binding WaveFormSource, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" Canvas.Top="0" Canvas.Left="{Binding XPosition, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" Stretch="Fill" Width="{Binding Breite, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}" Height="{Binding Hoehe, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
- <Line Stroke="Red" StrokeThickness="1" X1="{Binding X_1}" X2="{Binding X_1}" Y1="0" Y2="100"/>
- </Canvas>
und das:
bekomme ich hier immer den Fehler in Zeile 2...
HResult=0x80004003
Nachricht = Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
Quelle = System.Drawing
...wenn ich Breite und Hoehe nicht vorher festlege, obwohl das bei dem ersten Beispiel ohne Festlegen funktioniert hat.
Hat jemand ne Idee, warum das beim zweiten Beispiel nicht funktioniert?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kafffee“ ()