سلام
یکی از دوستان در ادامه یک پست پرسیده بودند که چه جوری میشه سایز یک متن با بزرگ شدن مثلا پنجره ویندوز بزرگ بشه و من چون احساس کردم میتونه مفید باشه اونو در یک تاپیک جدا گانه برای شما آوردم
یک پروژه جدید ایجاد کنید
در مرکز اون یک TextBlok بگذارید و عدد یک رو در اون تایپ کنید
به سایز فونت دست نزنید
حالا باید در کد Xaml اون TextBlok این تنظیمات رو انجام بدید
RenderTransformOrigin="0.5,0.5"
و هم چنین درون تگ TextBlock بنویسید
<TextBlock.RenderTransform>
<ScaleTransform x:Name="t"/>
</TextBlock.RenderTransform>
این تکه کد خیلی مهمه و تعریف نام ScaleTransform x:Name= t دقت کنید
در کل باید کد Xaml مربوط به TextBlock این شده باشه
<TextBlock Name="textBlock" TextWrapping="Wrap" Text="1" VerticalAlignment="Center" HorizontalAlignment="Center" RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<ScaleTransform x:Name="t"/>
</TextBlock.RenderTransform>
</TextBlock>
حالا در رویداد SizeChanged ویندوز بنویسید
t.ScaleY = this.ActualHeight / this.textBlock.ActualHeight;
t.ScaleX = this.ActualWidth / this.textBlock.ActualWidth;
اینم فایل ضمیمه
فایل رو اجرا کن و نتیجه رو ببین
اگه Vs2010 نداری فایل exe درون پوشه bin رو اجرا کن و نتیجه رو ببین و با Notepad فایل های xaml و xaml.cs رو باز کن و کد هارو ببین