Laden...

Profil von Hydrogencarbonat

myCSharp.de - Member Mitglied seit
H
Hydrogencarbonat
myCSharp.de - Member
16
Themen
42
Beiträge
Dabei seit
24.05.2018
Letzte Aktivität
vor 4 Jahren
Erstellt vor 4 Jahren

Hi,
danke für die Antwort.

Ist das der richtige Weg?


    <Button x:Name="btn" Grid.Row="1" Content="Start Animation" Width="Auto" HorizontalAlignment="Left"/>


  <EventTrigger RoutedEvent="Button.Click" EventTrigger.SourceName="btn">

Naja, leider kann kein "FrameworkElement" mit dem Namen "btn" gefunden werden.
Was fehlt noch?

Erstellt vor 4 Jahren

Hi,
ich würde gerne per Button Click Event ein Grid sichtbar machen und wenn dies sichtbar ist dann eine Grid Animation starten (Grid from Left to Right).
Und wenn der Button erneut geklickt wird dann Close Grid from Right to left.

Ich habe schon viel rumgespielt, aber bin unfähig und brauche eure Hilfe. ^^

Ich benutze im Canvas einen EventTrigger, den benutze icch bei Loaded, aber so wird nur einmal die Animation ausgeführt bei der Init und nicht immer. Und außerdem hat der Code so keine wirkliche
Funktionalität zum Button Click Event.
Das mit der Visibility ist eh Blödsinn oder nicht?Brauche ja nur den Button Click?.
Die Funktionalität wie im Absatz oben beschrieben möchte ich gerne haben.


<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="30"/>
            <RowDefinition Height="30"/>
            <RowDefinition />
        </Grid.RowDefinitions>
        <TextBlock Grid.Row="0" Text="Grid Silding Test" FontSize="20"/>
        <Button Grid.Row="1" Content="Start Animation" Width="Auto" HorizontalAlignment="Left" Click="Button_Click"></Button>
        <Grid Grid.Row="2" x:Name="Grid1" HorizontalAlignment="Left">
            <Canvas Grid.Row="2" Background="Transparent" x:Name="canvas" Width="250" >
                <Canvas.Triggers>
                    <EventTrigger RoutedEvent="Canvas.Loaded"> 
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetName="ControlsGrid" 
                                                                     Storyboard.TargetProperty="(Canvas.Left)"
                                                                     From="-250" To="0" Duration="0:0:0.5" />
                            </Storyboard>
                        </BeginStoryboard>

                    </EventTrigger>
                </Canvas.Triggers>
                <Grid Name="ControlsGrid" Canvas.Left="-250" Height="{Binding ElementName=canvas, Path=ActualHeight}" Width="{Binding ElementName=canvas, Path=ActualWidth}" Background="Red">
                    <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="I'm a Grid......" />
                </Grid>
            </Canvas>
        </Grid>   
    </Grid>


 public MainWindow()
        {
            InitializeComponent();

            Grid1.Visibility = Visibility.Visible;
         }

  private void Button_Click(object sender, RoutedEventArgs e)
        {
            Grid1.Visibility = Grid1.Visibility == Visibility.Collapsed ? Visibility.Visible : Visibility.Collapsed;
        }

Beste Grüße

Erstellt vor 5 Jahren

Hi,

ich muss tausende von Englischen Texten in Französch übersetzen.

Damit ich nicht per Hand agieren muss, habe ich versucht die Aufgabe mit der Google Translator API (c#) zu lösen.

Bei kleinen Datenmengen hatte ich keine Probleme Texte zu übersetzen.

Da es aber sehr viele sind kommt nach einer gewissen Zeit meiner Abfragen eine Fehlermeldung und meine IP wird für eine gewissen Zeit geblockt/gesperrt.
Die Fehlermeldung besagt, dass Google einen ungewöhnlichen Datenverkehr auf meinen Computernetzwerk festgestellt hat. Eventuell sehen Sie diese Seite, weil Sie komplexe Anfragen verwenden, die bekanntermaßen von Robots verwendet werden, oder weil Sie sehr schnell Anfragen senden.

Da ich sehr schnelle Anfragen ausschließen wollte, habe ich vor jeder Anfrage ein Delay von 3 Sekunden eingebaut. Aber nach einer gewissen Zeit wurde meine Ip wieder gesperrt^^:/.

Kann man diese Fehlermeldung irgendwie umgehen?
Oder gibt es noch andere gute kostenlose Translator APIs für csharp die ich für mein Vorhaben verwenden kann?

Gruß

Erstellt vor 5 Jahren

Hi ,
danke für die Hilfe.

Habe ein wenig an der richtigen Stelle getuned und es klappt.


<ScrollBar Margin="-35,0,0,0" x:Name="PART_VerticalScrollBar" Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical"  Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>

Erstellt vor 5 Jahren

Hi,

wie bekomme ich die vertikale Scollbar auf die linke Seite eines Datagrids?

Gruß

Erstellt vor 5 Jahren

Hi,
ich verwende ein customize DataGridTextColumn "local:DataGridTextColumnCC " und in dem sind verschiedene Properties wie MinWidth, maxwidth etc schon voreingestellt.

Wenn ich nun die Width nachträglich auf * setze dann wurde im Vorfällt gesetzt und ich müsste davon bestimmte wieder zurück setzen. Ansonsten kann ja kein stretch erfolgen, da wie schon erwähnt die maxWidth gesetzt wurde.
Würde nur die MinWidh im vorfällt voreingestellt sein, dann hätte ich das problem ja nicht.


<local:DataGridTextColumnCC Binding="{Binding Name}" Header="Type" CanUserResize="True"  Width="*"/>

Erstellt vor 5 Jahren

Super, vielen Dankes klappt.
Jedoch benutze ich in meinem richtigen Code ein Customize Datagrid.
Und da ist die Voreinstellung von MaxWidth festgelegt.
Dort wird die Spalte nicht gestretched, wenn ich Width="*" benutze.
Müsste ich um zu stretchen die Voreinstellung maxwidth zurücksetzen?
Was kann ich da tun?

In meinem kleinen Beispiel würde es wie folgt aussehen.


  <DataGridTextColumn Binding="{Binding Name}" Header="Type" CanUserResize="True" MaxWidth="100"  Width="*"/>

.

Erstellt vor 5 Jahren

Hi,

ich habe es mit * probiert.
Es klappt abe rirgendwie nicht.
Hier ein kleines Beispiel:


<Window x:Class="datagrid_simple.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:datagrid_simple"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="300">
    <ScrollViewer  VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
                   PanningMode="VerticalOnly" MinWidth="300" MinHeight="500">
        <Grid   >
            <Grid.Resources>
                <ResourceDictionary>
                    <ResourceDictionary.MergedDictionaries>                       
                    </ResourceDictionary.MergedDictionaries>                    
                </ResourceDictionary>
            </Grid.Resources>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <Border Grid.Row="1" BorderBrush="Green" Margin="10" BorderThickness="1" CornerRadius="3">
                <Grid Visibility="Visible" Background="WhiteSmoke">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>                      
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>
                    <DataGrid x:Name="grid1"
                             HorizontalAlignment="Stretch"
                             HorizontalContentAlignment="Stretch"
                             Margin="10"
                             VerticalAlignment="Center"
                             AlternatingRowBackground="WhiteSmoke"
                             AutoGenerateColumns="False" >                       
                        <DataGrid.Columns>
                            <DataGridTextColumn Binding="{Binding Type}" Header="Name" CanUserResize="True"  Width="Auto"/>
                            <DataGridTextColumn Binding="{Binding Name}" Header="Type" CanUserResize="True"  Width="*"/>
                        </DataGrid.Columns>                       
                    </DataGrid>
                </Grid>
            </Border>  
        </Grid>
    </ScrollViewer>   
</Window>


using System.Collections.Generic;
using System.Windows;

namespace datagrid_simple
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            List<User> users = new List<User>();
            users.Add(new User() { Id = 1, Type = "Schlange", Name = "Otto" });
            users.Add(new User() { Id = 2, Type = "Fisch", Name = "Walter" });
            users.Add(new User() { Id = 3, Type = "Alien", Name = "Peter" });

            grid1.ItemsSource = users;
        }
    }

    public class User
    {
        public int Id { get; set; }

        public string Type { get; set; }

        public string Name { get; set; }
    }
}


Erstellt vor 5 Jahren

Hey,
mein datagrid ist horizontal aligment = "stretch".
wie kann man die letzte Spalte von einem Datagrid stretch machen, so dass diese Spalte bis zum Ende des datagrid geht?

1.hier hat die letzte Spalte anscheinend einen festen Wert und das letzte Stück wird nicht gestretched.
||-----||-----||-----||-----||-----| |
| |
| |
2.die letzte Spalte soll bis zum Ende vom datagrid gehen
||-----||-----||-----||-----||----> |
| |
| |
3. so soll es aussehen
||-----||-----||-----||-----||---------------- ||
| |
| |

Erstellt vor 5 Jahren

Ok, vielen Dank.
Ich werde es dann mit dem TreeView umsetzen.

Beste Grüße