আমি কীভাবে ডাব্লুপিএফ-তে আমার গ্রিডে একটি সীমানা রাখব?


119

আমি সি # / ডাব্লুপিএফ-তে আমার গ্রিডে কীভাবে একটি সীমানা রাখব?

এটি হ'ল এটিই আমি চাই, তবে আমি আমার অ্যাপ্লিকেশনটিতে থাকা গ্রিড নিয়ন্ত্রণের পরিবর্তে পুরো জিনিসটির চারপাশে একটি সীমানা রাখি।

<Grid>
    <Border BorderBrush="Black" BorderThickness="2">
        <Grid Height="166" HorizontalAlignment="Left" Margin="12,12,0,0" Name="grid1" VerticalAlignment="Top" Width="479" Background="#FFF2F2F2" />
    </Border>
... and so on ...

1
"পুরো জিনিস" বলতে কী বোঝ? আমার সন্দেহ হয় আপনার গ্রিডের ভিতরে আপনার অন্য কিছু রয়েছে - সম্ভবত এটি আপনার পোস্ট করা উচিত। আমার সন্দেহ হ'ল আপনার কিছু প্রকারের ডেটাগ্রিড নিয়ন্ত্রণের পাশাপাশি গ্রিডের ধারক (যা আপনার নমুনায় রেখেছেন এবং সম্ভবত "পুরো জিনিসটি" থাকবে) এবং সেখানেই বিভ্রান্তি দেখা দেয়।
ড্যান পুজে

উত্তর:


213

আপনি যদি কেবল একটি বাহ্যিক সীমানা চান তবে সবচেয়ে সহজ উপায় এটি একটি সীমান্ত নিয়ন্ত্রণে রাখা:

<Border BorderBrush="Black" BorderThickness="2">
    <Grid>
       <!-- Grid contents here -->
    </Grid>
</Border>

আপনি সীমানাটি সম্পূর্ণরূপে আপনার নিয়ন্ত্রণ পূরণ করার কারণটি হ'ল, ডিফল্টরূপে এটি হরাইজ্টালালাইমেন্ট এবং উল্লম্ব অ্যালাইনমেন্টটি স্ট্রেচে সেট করা থাকে। নিম্নলিখিত চেষ্টা করুন:

<Grid>
    <Border  HorizontalAlignment="Left" VerticalAlignment="Top"  BorderBrush="Black" BorderThickness="2">
        <Grid Height="166" HorizontalAlignment="Left" Margin="12,12,0,0" Name="grid1" VerticalAlignment="Top" Width="479" Background="#FFF2F2F2" />
    </Border>
</Grid>

এটি আপনার পরে কী হবে তা পাওয়া উচিত (যদিও আপনি কেবল ২ নয় ... সমস্ত চারদিকে মার্জিন রাখতে চান)


এটি আমার ইচ্ছা মতো কাজ করে না ... আমি আমার প্রশ্নের সাথে কিছু কোড যুক্ত করেছি।
Jason94

3
@ জেসন ৯৪: আপনার পরে আমি কী মনে করি তা কীভাবে পাব তা দেখানোর জন্য আমি আমার উত্তর আপডেট করেছি ...
রিড কোপসি

@ রিডকপসি রিড, আমি জানি আপনার সমাধানগুলি কাজ করে, আমি যা বুঝতে পারি না কেন সীমান্ত উপাদান গ্রিড উপাদানটির ভিতরে রয়েছে - এটি কি এইরকম স্বজ্ঞাত নয়? ধন্যবাদ.
সাবুনকু

2
@ সাবুনকু আপনি লক্ষ্য করবেন যে আমার আসলটি ছিল না - আমি ওপির সম্পাদনাটি "কাজ" করছিলাম
রিড কোপসি

1
এটি আমার মূল উইন্ডোর অভ্যন্তরের চারপাশে এবং এটি গ্রিডের বাইরের আশেপাশে নয় যা এটির মধ্যে আবদ্ধ রয়েছে a কোন ধারণা কেন?
ব্র্যাডি

9

যদি কোনও সীমান্ত নিয়ন্ত্রণে আপনার গ্রিড বাসা করে

<Border>
    <Grid>
    </Grid>
</Border>

আপনি যা চান তা করে না, তারপরে আপনাকে গ্রিড (বা সীমান্ত) এর জন্য আপনার নিজের নিয়ন্ত্রণ টেম্পলেট তৈরি করতে হবে যা আপনি যা চান তা করেন।


ওহ ... ওকি: ডি ভেবেছিলেন যে আমি একটি পরিবর্তনশীল উপেক্ষা করেছি বা কিছু অভিনব ডাব্লুপিএফ (এটিতে আমি নতুন: ডি)
জেসন 94

আপনি গ্রিড এবং সীমান্তের জন্য কোনও টেম্পলেট তৈরি করতে পারবেন না কারণ তাদের কোনও টেমপ্লেট সম্পত্তি নেই কারণ সেগুলি নিয়ন্ত্রণ থেকে প্রাপ্ত নয়, তবে প্যানেল এবং ডেকোরেটর থেকে। রিড কোপসির (বেশ সহজ) সমাধান রয়েছে
গেহহ

2

আমি মনে করি আপনার সমস্যাটি হ'ল মার্জিনটি সীমানা ট্যাগে নির্দিষ্ট করা উচিত গ্রিডে নয়।


2

এটি পরবর্তী উত্তর যা আমার পক্ষে কাজ করে, যদি এটি ভবিষ্যতে কারওরূপে ব্যবহৃত হতে পারে। আমি গ্রিডের চারদিকের চারপাশে একটি সাধারণ সীমানা চেয়েছিলাম এবং আমি এটি এটির মতো অর্জন করেছি ...

<DataGrid x:Name="dgDisplay" Margin="5" BorderBrush="#1266a7" BorderThickness="1"...

Gridনিয়ন্ত্রণ একটি নেই BorderBrushঅ্যাট্রিবিউট কিন্তু DataGridআছে ...
ΩmegaMan

1
<Grid x:Name="outerGrid">
    <Grid x:Name="innerGrid">
        <Border BorderBrush="#FF179AC8" BorderThickness="2" />
        <other stuff></other stuff>
        <other stuff></other stuff>
    </Grid>
</Grid>

এই কোডটি "ইনারগ্রিড" এর ভিতরে একটি সীমানা মোড়ানো


হাই @ এলভিনমামাদভ। আপনি আরও বর্ণনা করতে পারেন। আপনি কোন ত্রুটি পাচ্ছেন? এই কোডটি আমার পক্ষে কাজ করে।
পিজে

1
সীমানা ট্যাগটিতে গ্রিড.ক্লোনমস্পান = "কলামগুলি আপনি কভার করতে চান" গ্রিড.রোউস্প্যান = "আপনি যে সারিগুলি আবরণ করতে চান" তা যোগ করতে হবে। অন্যথায় এটি কেবল প্রথম কক্ষকেই কভার করে।
ব্যবহারকারী3707094

0

যদি কেউ একই সমস্যাটিতে আগ্রহী হন, তবে এক্সএএমএল এর সাথে কাজ না করে থাকেন তবে আমার সমাধানটি এখানে দেওয়া হয়েছে:

var B1 = new Border();
B1.BorderBrush = Brushes.Black;
B1.BorderThickness = new Thickness(0, 1, 0, 0); //You can specify here which borders do you want
YourPanel.Children.Add(B1);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.