• 16.06.2025, 22:26
  • Registrieren
  • Anmelden
  • Du bist nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies dein erster Besuch auf dieser Seite ist, lese dir bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

SeeBastion

Junior Member

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>

Peter von Frosta

Full Member

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)

SeeBastion

Junior Member

Dienstag, 31. Oktober 2023, 15:28

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

Peter von Frosta

Full Member

Dienstag, 31. Oktober 2023, 15:44

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

SeeBastion

Junior Member

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.

SeeBastion

Junior Member

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:

Peter von Frosta

Full Member

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>

Peter von Frosta

Full Member

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: )