2015-06-10 5 views
6

enter image description here मैं अपने ऐप के लिए एक साधारण इंटरफ़ेस बना रहा था। जब मैंने जीयूआई डिज़ाइन तैयार किया, तो सब ठीक हो गया, मैं डब्ल्यूपीएफ और उसके एक्सएएमएल कार्यान्वयन का उपयोग कर रहा हूं। सब कुछ संकलित और ऐप चलने के बाद समस्या आई। यह एक बटन है जो ऐप चलने पर गलत तरीके से चला जाता है। मैंने समस्या की तलाश की और कुछ भी नहीं मिला। कुछ पता है इसे कैसे सुधारना?संकलन के बाद गलत हस्ताक्षर बटन

अपेक्षित परिणाम बाईं ओर है, असली परिणाम फ़्लोटिंग विंडो पर है। Misaligned बटन का XAML कोड फ़्लोटिंग विंडो के नीचे है।

उत्तर

1
<Window x:Class="WPFAlignment.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525"> 
<Grid> 
    <Grid.Resources> 
     <Style TargetType="Button"> 
      <Setter Property="Margin" Value="3"/> 
     </Style> 
     <Style TargetType="TextBlock"> 
      <Setter Property="Margin" Value="3"/> 
     </Style> 
    </Grid.Resources> 
    <Grid Width="500"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="2*"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="*"/> 
       <ColumnDefinition Width="*"/> 
      </Grid.ColumnDefinitions> 
      <Button Content="LoadFingerPrint"/> 
      <Button Grid.Column="1" Content="Load File"/> 
     </Grid> 
     <Grid Grid.Row="1"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="*"/> 
       <ColumnDefinition Width="*"/> 
       <ColumnDefinition Width="*"/> 
       <ColumnDefinition Width="*"/> 
      </Grid.ColumnDefinitions> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="*"/> 
       <RowDefinition Height="*"/> 
       <RowDefinition Height="*"/> 
      </Grid.RowDefinitions> 
      <TextBlock Text="File Path:" 
         HorizontalAlignment="Left" 
         VerticalAlignment="Center"/> 
      <TextBlock Grid.Row="1" 
         Text="Key Size:" 
         HorizontalAlignment="Left" 
         VerticalAlignment="Center"/> 
      <TextBlock Grid.Row="2" 
         Text="Initial Vector:" 
         HorizontalAlignment="Left" 
         VerticalAlignment="Center"/> 

      <DockPanel LastChildFill="True" Grid.Column="1" Grid.ColumnSpan="3"> 
       <TextBox Margin="2"/> 
      </DockPanel> 
      <Grid Grid.Column="1" 
        Grid.ColumnSpan="3" 
        Grid.Row="1" 
        VerticalAlignment="Center"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*"/> 
        <ColumnDefinition Width="*"/> 
        <ColumnDefinition Width="*"/> 
       </Grid.ColumnDefinitions> 
       <CheckBox Content="128bit" 
          VerticalAlignment="Center" 
          HorizontalAlignment="Left"/> 
       <CheckBox Grid.Column="1" 
          Content="192bit" 
          VerticalAlignment="Center" 
          HorizontalAlignment="Left"/> 
       <CheckBox Grid.Column="2" 
          Content="256bit" 
          VerticalAlignment="Center" 
          HorizontalAlignment="Right"/> 
      </Grid> 
       <DockPanel LastChildFill="True" 
          Grid.Column="1" 
          Grid.Row="2" 
          Grid.ColumnSpan="3"> 
       <TextBox Margin="2"/> 
      </DockPanel> 
     </Grid> 
     <Grid Grid.Row="2"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="*"/> 
       <ColumnDefinition Width="*"/> 
       <ColumnDefinition Width="*"/> 
      </Grid.ColumnDefinitions> 
      <Button Content="Encrypt"/> 
      <Button Grid.Column="1" 
        Content="Decrypt"/> 
      <Button Grid.Column="2" 
        Content="Abort"/> 
     </Grid> 
    </Grid> 
</Grid> 

enter image description here

आप इस कोशिश करते हैं और संरेखण देख सकते हैं? आपके पास उन सभी मार्जिन हैं जो हाथ से सेट हैं .. मुझे लगता है कि यह मुद्दा है।

मूल रूप से, उपयोग करने वाले कंटेनरों की स्थिति के लिए: ग्रिड, डॉकपैनल, स्टैकपैनल और इतने पर और उनके अंदर रिश्तेदार होने के लिए, उदाहरण के रूप में संरेखण का उपयोग करें, वर्टिकल एलाइनमेंट। इसके अलावा, कई नियंत्रणों के लिए कुछ सामान्य मान सेट करने के लिए स्टाइल का उपयोग करें, जैसे मैंने बटन के मार्जिन के साथ किया था।

+0

धन्यवाद, यह वही है जो मुझे चाहिए क्योंकि मैं इस wpf और xaml gui design में वास्तव में नया हूं –

संबंधित मुद्दे