উইন্ডো উচ্চতা = "অটো" প্রত্যাশার মতো কাজ করছে না


223

আমি যা করার চেষ্টা করছি তা হল একটি উইন্ডো দেখানো, এতে স্পষ্টভাবে উচ্চতা / প্রস্থ নেই (উভয় মান বাদ দেওয়া বা সেট করা Auto)। আমি অনুমান করছিলাম যে উইন্ডোটি স্বয়ংক্রিয়ভাবে এর আকারটি সন্ধান করবে - সমস্ত ধারণকৃত ব্যবহারকারীকন্ট্রোল আকারগুলি গণনা করছে, তবে এটি আসলে কাজ করে না!

পরিবর্তে আমি একটি বড় উইন্ডো পেয়েছি Actualwidthএবং Actualheightউভয়কে 512 (?!?!) এ সেট করে মান দিয়েছি

উইন্ডো ঘোষণা:

<Window x:Class="Window3"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="Window3" 
  Height="Auto">
<StackPanel>
    <Label>Window</Label>
</StackPanel>
</Window>

এই উইন্ডোটির মাধ্যমে একটি ডায়ালগ হিসাবে প্রদর্শিত হচ্ছে:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button2.Click
    Dim dlg As New Window3
    dlg.ShowDialog()
End Sub

এটির কোন সমাধান আছে? আমি স্পষ্টভাবে আমার উইন্ডোর আকার নির্ধারণ করতে চাই না কারণ কনস্ট্রাক্টর প্যারামিটারের ভিত্তিতে ফর্মের অনেকগুলি নিয়ন্ত্রণ ধসে যাবে এবং ফর্মটির আসল আকারটি অনুসন্ধান করার চেষ্টা করা জটিল (এবং কুৎসিত) হবে।


7
এছাড়াও আপনি সঙ্গে জানালা কেন্দ্র চাইতে পারেন .WindowStartupLocationসেট"CenterScreen"
অ্যান্ডার্স Linden

উত্তর:


408

উইন্ডোর সম্পত্তি সেট করুন SizeToContent="WidthAndHeight"। এটি সাহায্য করা উচিত।


89
অলস লোকদের জন্য যারা পেস্ট অনুলিপি করতে চান SizeToContent="WidthAndHeight";)
টোনো নাম

4
সাইজটোস কনটেন্ট = "উইথঅ্যান্ডহাইট" ব্যবহারে সতর্কতা অবলম্বন করা, উইন্ডোর সামগ্রীর আকার যদি স্ক্রিনের আকারের চেয়ে বেশি বৃদ্ধি পায় তবে উইন্ডোটি পর্দা থেকে উপচে পড়তে পারে।
কিলো রেন

@ কাইলোরেন যাতে সমস্যা এড়াতে ম্যাক্সউইথ বা ম্যাকহাইট সেট করা উচিত
কার্লোস লিউ

@ কার্লোস লিয়ু দীর্ঘকাল, আমি অনুশীলনের বাইরে রয়েছি এবং মনে করতে পারছি না, তবে হ্যাঁ যুক্তিযুক্তভাবে এটি সঠিক বলে মনে হচ্ছে। একটি ডেমোতে চেষ্টা করুন :)
কিলো রেন

এটি দুর্দান্ত, তবে আমি এখনও আগ্রহী যে কেন Height="Auto"এবং Width="Auto"একই জিনিসটি সম্পাদন করে না? আমি অনুমান করছি কারণ উইন্ডো সামগ্রীটি এই সেটিংসের সাথে বিবেচিত হয় না।
মাইক লোরি

7

পুরানো প্রশ্ন কিন্তু একটি আপডেট উত্তর:

যেমন @ মুআাদ'ডিব তার উত্তরে পরামর্শ দিয়েছেন:

আপনি সেট করা উচিত SizeToContent="WidthAndHeight"

উইন্ডোর সামগ্রীর আকার যদি স্ক্রিনের আকারের চেয়ে বেশি বৃদ্ধি পায় তবে উইন্ডোটি পর্দা থেকে উপচে পড়তে পারে। সুতরাং, আপনি অবশ্যই বিবেচনা করুন:

MaxWidth="600"
MaxHeight="400"

এবং MaxHeight="400"সম্মান না করা হয় তখন কী করবেন ? এটি পর্দার সীমা অবধি বাড়বে?
andrepaulo

3

ঠিক আছে আপনি উইন্ডোটির উচ্চতাটি অটোতে সেট করতে পারবেন না, এটির জন্য আপনি সামান্য কৌশল ব্যবহার করতে পারেন, প্রধান প্রধান গ্রিডের ধারকটির নাম লিখুন, তার উচ্চতাটি স্বয়ংক্রিয়ভাবে নির্ধারণ করুন তারপরে উইন্ডোটির উচ্চতাটিকে প্রধান গ্রিডের উচ্চতায় আবদ্ধ করুন


0

লোড ইভেন্ট উইন্ডো সহ কুরান্ট স্ক্রিনে আকার সেট করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.