• 28.04.2024, 04:45
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Sensorwerte Runden in yaml

Dienstag, 31. Oktober 2023, 12:25

Wie kann ich die Sensorwerte in einem Benutzerdefinierten Objekt runden? Das Objekt ist mit einem Sensor aus dem Playground verknüft und zeigt 1 Nachkommastelle, ich möchte nun auf 0 nackommastellen "Runden". Hier mein bisheriger Code:
<UserControl
x:Name="this"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.66*"/>
<ColumnDefinition Width="0.33*"/>
</Grid.ColumnDefinitions>
<TextBlock
Margin="0,0,0,3"
Text="Power"
FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" FontFamily="Comic Sans MS"/>
<TextBlock
Grid.Column="1" Margin="0,0,0,3" FontSize="14" FontFamily="Comic Sans MS"
HorizontalAlignment="Right" VerticalAlignment="Center">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource UnitConverter}" ConverterParameter="1">
<Binding ElementName="this" Path="DataContext.Data"/>
<Binding ElementName="this" Path="DataContext.Data.v"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
<Rectangle VerticalAlignment="Bottom" Height="0" Grid.ColumnSpan="2" Fill="White" Opacity="0.15"/>
</Grid>
</UserControl>

Dienstag, 31. Oktober 2023, 13:21

Versuche es mal so:

Zitat

<UserControl
x:Name="this"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.66*"/>
<ColumnDefinition Width="0.33*"/>
</Grid.ColumnDefinitions>
<TextBlock
Margin="0,0,0,3"
Text="Power"
FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" FontFamily="Comic Sans MS"/>
<TextBlock
Text="{Binding ElementName=this, Path=DataContext.Value, StringFormat={}{0:F0}, FallbackValue=nix da}"
Grid.Column="1"
FontSize="14"
FontFamily="Comic Sans MS"
FontWeight="Normal"
Margin="0,0,0,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<Rectangle VerticalAlignment="Bottom" Height="0" Grid.ColumnSpan="2" Fill="White" Opacity="0.15"/>
</Grid>
</UserControl>

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Peter von Frosta« (31. Oktober 2023, 13:29)

Dienstag, 31. Oktober 2023, 15:28

Hm, das funktioniert an sich, allerdings fehlt dann die Einheit hinten dran.

Dienstag, 31. Oktober 2023, 15:44

Dann musst Du die noch mit einem weiteren TextBlock hinten dran hängen.
Runden kann man nur Zahlen...

Dienstag, 31. Oktober 2023, 15:54

klappt nicht so recht. kann man bei "StringFormat" die Einheit mit reinpacken?
Von Python o.ä. kenn ich das so, da kann man meist das Zahlenformat definieren und Pre- oder Suffixe mit dran packen.

Dienstag, 31. Oktober 2023, 16:00

Ok, jetzt hat es durch probieren geklappt. Habe jetzt das hier benutzt:

StringFormat='{}{0:F0} W'
Danke für die Hilfe :thumbsup:

Dienstag, 31. Oktober 2023, 16:02

Kannst Du sogar in die gleiche Zelle schreiben wie den Wert, musst nur beim Wert etwas "Margin rechts" hinzufügen

Zitat

<UserControl
x:Name="this"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.66*"/>
<ColumnDefinition Width="0.33*"/>

</Grid.ColumnDefinitions>
<TextBlock
Margin="0,0,0,3"
Text="Power"
FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" FontFamily="Comic Sans MS"/>

<TextBlock
Text="{Binding ElementName=this, Path=DataContext.Value, StringFormat={}{0:F0}, FallbackValue=nix da}"
Grid.Column="1"
FontSize="14"
FontFamily="Comic Sans MS"
FontWeight="Normal"
Margin="0,0,20,3"
HorizontalAlignment="right"
VerticalAlignment="Center"/>


<TextBlock
Grid.Column="1"
Text="W"
Margin="0,0,0,3"
FontSize="14" HorizontalAlignment="Right" VerticalAlignment="Center" FontFamily="Comic Sans MS"/>


<Rectangle VerticalAlignment="Bottom" Height="0" Grid.ColumnSpan="2" Fill="White" Opacity="0.15"/>
</Grid>
</UserControl>

Dienstag, 31. Oktober 2023, 16:03

Ok, jetzt hat es durch probieren geklappt. Habe jetzt das hier benutzt:

StringFormat='{}{0:F0} W'
Danke für die Hilfe :thumbsup:
Das geht auch (ich war zu langsam :rolleyes: )