سلام
خوب از عنوان سوال معلومه دنبال چی هستم. کسی راهی داره.
خودم در متن از n\ استفاده کردم جواب نداد.
Printable View
سلام
خوب از عنوان سوال معلومه دنبال چی هستم. کسی راهی داره.
خودم در متن از n\ استفاده کردم جواب نداد.
با سلام
می تونید این جور استفاده کنید.
<TextBox Height="23" HorizontalAlignment="Left" Margin="40,40,0,0" Name="txt" VerticalAlignment="Top" Width="168" >
<TextBox.ToolTip>
<TextBlock TextWrapping="Wrap"></TextBlock>
</TextBox.ToolTip>
</TextBox>
Tootip از جنس Content است و شما میتوانید هر شی WPF ی را داخل آن قرار دهید برای مثال:
<Image ... >
<Image.Tooltip>
<StackPanel>
<TextBlox>First Line</TextBlox>
<TextBlox>Second Line</TextBlox>
</StackPanel>
</Image.Tooltip>
</Image>
و البته جواب قبلی هم کاملاً صحیح و کاربردی بود.
سلام
من دقیقا متوجه منظور شما نمیشوم. شاید هم برعکس.
اگر از Width استفاده کنم که هر وقت متن بیش از این اندازه شد، متن به چند خط تبدیل میشه. و برای همه ToolTip ها در برنامه صادق هست.
ولی من می خواهم برای ToolTip هر شی به یک صورت و اندازه رفتار کنه.
خودم هم از این کد استفاده کرده ام.
<TextBlock TextWrapping="WrapWithOverflow" Text="{TemplateBinding Content}" Margin="2,2.5,2,5" Foreground="White" FontSize="12" FontFamily="Tahoma" TextAlignment="Center">
<TextBlock.Effect>
<DropShadowEffect ShadowDepth="2" Color="#FF545454"/>
</TextBlock.Effect>
</TextBlock>
لطفا یکی کمک کنه.
داخل تگ Tooltip از تگهای زیر استفاده کنید:
<FlowDocumentScrollViewer VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Hidden">
<FlowDocument>
<Paragraph>
First Paragraph.
</Paragraph>
<Paragraph>
Second Paragraph.
<LineBreak/>
Again second paragraph but in a new line.
</Paragraph>
</FlowDocument>
</FlowDocumentScrollViewer>
اگر با HTML آشنا باشید کار با FlowDocument راحتر از این هم خواهد بود. در کل میتوانید مانور زیادی داشته باشید.
سلام
شما کدهایی می نویسید که باید برای هر شی استفاده کرد. مثلا باید در زیر یک دکمه کد شما را نوشت و مقادیر ToolTip را هم در همان کد مشخص کرد. درسته؟
ولی من این را نمی خواهم. من خودم یک ToolTip در Silverlight طراحی کرده ام. قسمت اصلی کدش را هم در بالا نوشتم. وقتی در برنامه خاصیت ToolTip هر شی را مقدار می دهم ToolTip که خودم طراحی کرده ام در کنار شی نمایش داده می شود. اگر به کد توجه کنید می بینید که من خاصیت Text را بایند کرده ام.
می توانم در خاصیت ToolTip هر شی متنی بنویسم و نمایش داده شود. اما من می خواهم که برای بعضی از اشیا متن چند خطی بنویسم. مشکل من اینجاست.
یعنی اگر راهی بود که در خاصیت ToolTip می توانستم متن چند خطی را تعیین کنم.
خیر اصلا اینطور نیست که این کدها باید در زیر یک دکمه نوشته شود! شما به راحتی میتوانید در همان XAML از این کدها استفاده کنید. در پست قبلی روش آنرا گفتم. مثلاً اگر کنترلی که میخواهید برای آن Tooltip بگذارید یک دکمه است کد زیر را میزنید: (دقت کنید که کد دکمه (Button) هم آمده است که میتوانید آنرا با کنترل مورد نظر خودتان جابجا کنید.)
<Button x:Name="yourButtonOrAnythingElse" Content="OK" ...>
<Button.Tooltip>
<FlowDocumentScrollViewer VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Hidden">
<FlowDocument>
<Paragraph>
First Paragraph.
</Paragraph>
<Paragraph>
Second Paragraph.
<LineBreak/>
Again second paragraph but in a new line.
</Paragraph>
</FlowDocument>
</FlowDocumentScrollViewer>
</Button.Tooltip>
</Button>
باز هم اگر بر روی TextBlock و روش خودتان تاکید دارید، در مورد TextBlock و رفتن به خط بعدی با یک کارکتر خاص (مثل n\) چیزی به ذهنم نمیرسد. اما به عنوان سادهترین راه میتوانید به جای TextBlock از TextBox استفاده کرده و آنرا ReadOnly کنید و با استفاده از یک Style ظاهر آنرا شبیه چیزی که مایلید کنید. TextBox از کاراکتر n\ برای رفتن به خط بعدی پشتیبانی میکند.
منظور من از زیر دکمه همین هست که شما نوشته اید. ولی من اینطوری نمی خواهم.
به کد زیر توجه کنید.
من به این صورت toolTip را فراخوانی می کنم.
<Canvas x:Name="AddMember" ToolTip="اضافه كردن">
فقط با استفاده از خاصیت ToolTip و یک متن.
و فقط یک ToolTip طراحی کرده ام. نه در زیر هر شی.
متاسفم! واقعاً چیزی به ذهنم نمیرسد! درک نمیکنم که String بودن چرا اینقدر مهم است! در XAML به دو روش میتوان به یک متغییر مقدار داد، یکی روش من و دیگری روش شما. حتی شما میتوانید کد Tooltip را در Resource قرار داده و آنرا به Tooltip متصل کنید.
فکر میکنم منظور شما را متوجه نمیشوم اما آخرین سعی خودم را میکنم؛
شما میتوانید در Resource صفحه یا برنامه کدهایی که من نوشته بودم (FlowDocument و یا Stack) را نوشته و خصیصه x:Key را برای آن ست کنید. مثلا:
<FlowDocumentScrollViewer x:Key="tooltipContent" VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Hidden">
<FlowDocument>
<Paragraph>
First Paragraph.
</Paragraph>
<Paragraph>
Second Paragraph.
<LineBreak/>
Again second paragraph but in a new line.
</Paragraph>
</FlowDocument>
و بعد در کد خودتان به صورت زیر مینویسید:
<Canvas x:Name="AddMember" ToolTip="{StaticResource tooltipContent}">
گاهی در #C باید از r\n\ استفاده کرد و نه از n\ تنها.نقل قول:
با یک کارکتر خاص (مثل n\)